将列表的元素加入路径

时间:2015-10-23 09:40:01

标签: filepath python-2.6 os.path

我有一个列表,我需要加入元素来形成一个路径。 os.join.path似乎不起作用。该清单被视为:

    file_path.split("\\")[:-1]

返回:

    ['L:', 'JM6', 'jm6', 'test', 'turb', 'results', 'v6.2', 'examples']

使用:

   print(os.path.join(file_path.split("\\")[:-1]))

返回完全相同的列表而不将其加入路径:

    ['L:', 'JM6', 'jm6', 'test', 'turb', 'results', 'v6.2', 'examples']

使用:

   print(os.path.join(os.path.sep, file_path.split("\\")[:-1]))

返回错误:

   print(os.path.join(os.path.sep, file_path.split("\\")[:-1]))
   File "C:\Python\lib\ntpath.py", line 73, in join
      elif isabs(b):
   File "C:\Python\lib\ntpath.py", line 58, in isabs
      return s != '' and s[:1] in '/\\'
 TypeError: 'in <string>' requires string as left operand, not list

由于

1 个答案:

答案 0 :(得分:1)

os.path.join()不会将列表作为参数,它需要多个参数。

使用*('splat'运算符)应该有效:

list=['L:', 'JM6', 'jm6', 'test', 'turb', 'results', 'v6.2', 'examples']
os.path.join(*list)