给定一个目录为字符串,如何查找是否存在任何文件?Python:检查给定目录中是否存在任何文件
os.path.isFile() # only accepts a specific file path
os.listdir(dir) == [] # accepts sub-directories
我的目标是检查路径是否只有文件(不包括子目录)。
给定一个目录为字符串,如何查找是否存在任何文件?Python:检查给定目录中是否存在任何文件
os.path.isFile() # only accepts a specific file path
os.listdir(dir) == [] # accepts sub-directories
我的目标是检查路径是否只有文件(不包括子目录)。
要只检查一个特定的目录中,这样的解决方案就足够了:
from os import listdir
from os.path import isfile, join
def does_file_exist_in_dir(path):
return any(isfile(join(path, i)) for i in listdir(path))
要剖析发生了什么:
does_file_exist_in_dir
将会把你的路径。作为一个选项,如果你想遍历指定路径的所有子目录,并检查文件,您可以使用os.walk,只是检查,看看是否你在级别包含任何这样的文件:
for dir, sub_dirs, files in os.walk(path):
if not files:
print("no files at this level")
在实践中,很少需要这样的东西,因为如果没有任何东西,正确编写循环来处理目录中所有感兴趣的文件只会迭代0次。你希望你可以在循环中对它们进行计数,并且如果检查看看有多少(如果有的话)被处理过。 – martineau