将字典的键(文件路径)连接到它的项目(该字典中的项目)

问题描述 投票:0回答:1

我有一本看起来像这样的字典:

import os    
file_names = {'C:\Data\Path1': ['item1.file', 'item2.file'], 
                  'C:\Data\Path2': ['item3.file', 'item4.file']}

我正在尝试使用 os.path.join 来组合路径,以及相应的项目以具有完整的文件路径。例如

file_paths = {'C:\Data\Path1': ['C:\Data\Path1\item1.file', 'C:\Data\Path1\item2.file'], 
              'C:\Data\Path2': ['C:\Data\Path1\item2.file', 'C:\Data\Path1\item3.file']}

到目前为止,我已经尝试过:

file_paths = {folder: os.path.join(folder, file_names[folder][item])
                               for folder in file_names.keys()
                               for item, _ in enumerate(file_names[folder])}

每个字典键没有两个输出,我只得到一个,原始字典键中的最后一项。

python list-comprehension os.path
1个回答
0
投票

这应该做你想做的事:

file_paths = {folder: [os.path.join(folder, file) for file in file_list]
              for folder, file_list in file_names.items()}
© www.soinside.com 2019 - 2024. All rights reserved.