1. ホーム
  2. python

[解決済み] Python os.path.join() on a list

2022-07-26 14:15:10

質問

私は、以下のことができます。

>>> os.path.join("c:/","home","foo","bar","some.txt")
'c:/home\\foo\\bar\\some.txt'

しかし、私が

>>> s = "c:/,home,foo,bar,some.txt".split(",")
>>> os.path.join(s)
['c:/', 'home', 'foo', 'bar', 'some.txt']

何が足りないのでしょうか?

どのように解決するのですか?

問題点は os.path.join を取らないことです。 list を引数として取ることはできないので、別々の引数でなければなりません。

これは * のように、'splat' 演算子の出番です...。

ができるんです。

>>> s = "c:/,home,foo,bar,some.txt".split(",")
>>> os.path.join(*s)
'c:/home\\foo\\bar\\some.txt'