【发布时间】:2022-11-15 23:08:22
【问题描述】:
我正在处理经常更新的文件夹中的一些文件。我需要添加一段代码来检查文件是否已经在文件夹中,如果不在则继续处理。如果是,则跳过并选择另一个。到目前为止我有这个:
files_processed = os.listdir(path) # ['AZ_saturday_id-1', 'AZ_saturday_id-2', 'AZ_sunday_id-1', 'BY_saturday_id-1']
initials = ['AZ', 'BY', 'CX']
day = ['saturday', 'sunday']
id = [1, 2, 3, 4, 5]
files = []
for init in initials:
for d in day:
for i in id:
name = f'{init}_{d}_id-{i}'
if name in files_processed:
continue
files.append(name)
但这并没有达到我的预期。变量 files 获取在 for 循环中创建的所有文件名,但它应该只有 files_processed 中不存在的文件名。
当我尝试时:
name in files_processed
正确评估为 True/False 但它在循环中不起作用。有任何想法吗?
【问题讨论】:
-
这对我来说很好用。你能分享
files_processed和files的价值吗? -
id为内置函数保留,尽量避免重新定义它。
标签: python