我想选择data_file directory中的所有文件,这些文件包含template_file directory中文件的第一个和第二个下划线之间的字符串。 例如,在模板文件目录中有以下文件:
Summary_Hamburg_2020.xlsx, Summary_Sydney_2020.xlsx and Summary_Washington_2020.xlsx
数据文件目录中有以下文件:
Data_Hamburg_2018.xlsx, Data_Hamburg_2019.xlsx, Data_Hamburg_2020.xlsx, Data_Sydney_2018.xlsx, Data_Sydney_2019.xlsx, Data_Sydney_2020.xlsx, Data_Washington_2018.xlsx, Data_Washington_2019.xlsx, Data_Washington_2020.xlsx
因此,如果选择了文件摘要\u Hamburg\u 2020.xlsx,则应在屏幕上打印文件数据\u Hamburg\u 2018.xlsx、数据\u Hamburg\u 2019.xlsx、数据\u Hamburg\u 2020.xlsx。如果选择了文件摘要\u Sydney\u 2020.xlsx,则应打印文件数据\u Sydney\u 2018.xlsx、数据\u Sydney\u 2019.xlsx、数据\u Sydney\u 2020.xlsx
可以用fnmatch做吗?我当前的解决方案不起作用
import fnmatch
import os
data_file = "C:\\2020\\New\\"
template_file = "C:\\2020\\New\\Reports\\"
for filename1 in os.listdir(template_file):
for filename2 in os.listdir(data_file):
city = '_'.join(filename1.split('_')[1:2])
if (fnmatch.fnmatch(filename1, city)):
print(filename1, filename2)
else:
continue
告诉我这是否适合你
此代码适用于某些条件,例如在path1中仅为模板文件,在path2中仅为数据文件(满足格式text1\u text2\u text3.extension)
相关问题 更多 >
编程相关推荐