我有一个用目录中的元素填充的元组:
{'C:/foo' : ['bar1', 'bar2'], 'C:/foo2' : ['bar']}
我正在尝试将每个键与其值连接起来:
C:/foo/bar1
C:/foo/bar2
C:/foo2/bar
我认为这会起作用:
[''.join('%s/%s' % (d.keys(), value)) for value in d.values()]
但它只是以与以下相同的方式将键与值连接起来:
for k,v in d.items():
print(k'/'v)
在这方面的任何帮助将不胜感激!如果我走错了路,请告诉我。
谢谢!
请您参考如下方法:
您可以使用 os.path.join 以这种方式构建路径。
import os
d = {'C:/foo' : ['bar1', 'bar2'], 'C:/foo2': ['bar']}
for k,v in d.items():
for value in v:
print(os.path.join(k,value))
输出
C:/foo2\bar
C:/foo\bar1
C:/foo\bar2
然后为了确保斜杠都是正确的,您可以使用 os.path.normpath
for k,v in d.items():
for value in v:
print(os.path.normpath(os.path.join(k,value)))
输出
C:\foo2\bar
C:\foo\bar1
C:\foo\bar2
明确地说,您应该更喜欢使用 os.path因为它将以操作系统特定的方式稳健地处理路径操作。在这种情况下,请确保正确的斜杠数量(包括必要时转义)以及斜杠的类型(正向与反向)。
