【发布时间】:2019-07-31 16:49:17
【问题描述】:
我有一个包含多个子文件夹的路径,以及具有不同扩展名的文件。 现在,我为每种文件类型(不同扩展名的文件)制作了不同的列表
path='/user/path/output'
为每个文件扩展名定义列表
png =list()
txt =list()
然后用文件填充我的列表,
import os
for (dirpath,dirname,filenames) in os.walk(path):
txt +=[os.path.join(dirpath,file) for file in filenames if file.endswith("txt") ]
png +=[os.path.join(dirpath,file) for file in filenames if file.endswith("png") ]
现在列表如下所示,
print(txt)
['/user/path/output/SAP.txt','/user/path/output/LUF.txt']
还有png
['/user/path/output/SAP-tcga-01_scs.png','/user/path/output/LUF-tcga-01_scs.png']
在这里,我有一个前缀列表。这些前缀需要附加到上述文件名列表中。因此,我创建了一个字典,样本名称作为值,前缀作为键。 列表后缀的第一部分:是文件名,第二部分是后缀。列表后缀必须正确,附加到正确的文件名。这就是这里的条件。
suffix =["SAP_xz","LUF_df"]
prefix_for_files={value.split('_')[0]:value for value in suffix}
然后,我有两个带有路径的文件名列表和一个需要为 2 个列表中的每个文件附加的前缀字典。
为此,我编写了一个 for 循环,就像这样,
for value,ids in prefix_for_files.items():
sample_prefix=ids.split('_')[1]
最后,我需要读取列表中的每个项目(txt 和 png)并查看 prefix_for_files 中的值是否与 lists 中文件名的基本名称匹配。
我被困在这里,任何形式的建议都非常感谢。
最后我需要文件列表,例如png 文件,
/user/path/output/SAP_xz.png
/user/path/output/LUF_df.png
【问题讨论】:
标签: python dictionary os.walk