Python 检查文件夹中是否有不同的文件名

Python 检查文件夹中是否有不同的文件名,python,Python,假设我有一个文件名,我想看看是否在文件夹中。然后,我可以使用os.path在文件夹中搜索它,例如: import os.path file_name = "file1.txt" if os.path.isfile(file_name) is False: print("File name was not found") file_names = ["file1.txt", "file2.txt", "file3.txt", "file4.txt"] 这相当简单。但是,如果我知道文

假设我有一个文件名,我想看看是否在文件夹中。然后,我可以使用
os.path
在文件夹中搜索它,例如:

import os.path

file_name = "file1.txt"

if os.path.isfile(file_name) is False:
    print("File name was not found")
file_names = ["file1.txt", "file2.txt", "file3.txt", "file4.txt"]
这相当简单。但是,如果我知道文件可以采用不同的名称,例如:

import os.path

file_name = "file1.txt"

if os.path.isfile(file_name) is False:
    print("File name was not found")
file_names = ["file1.txt", "file2.txt", "file3.txt", "file4.txt"]
然后我可能会做一些“丑陋”的事情,说:

if os.path.isfile(file_names[0]) is False or if os.path.isfile(file_names[1]) is False or if os.path.isfile(file_names[2]) is False or if os.path.isfile(file_names[3]) is False:
    print("File name was not found")
我似乎不知道一个循环是否会起作用,因为它只应该在所有语句都是假的情况下打印,而不应该在没有找到一个语句的情况下打印(也就是说,它至少会找到三个不存在的语句)。那么,是的,怎样才能做得更漂亮呢

if not any(os.path.isfile(file_name) for file_name in file_names):
    print("Not found!")
或者,更简洁地说:

if not any(map(os.path.isfile, file_names)):
    print("Not found!")

这表示:“如果这些文件中至少有一个存在,请不要在未经测试的手机上打印
找不到

如果全部([文件名中的名称不是os.isfile(name)):
这是让我感到困惑的部分,因为代码和OP的预期输出在question@roganjosh,我的答案的第一版也使用了
all
,哈哈,里面有点不对劲:)我想这是
他们想要的,但不确定