如果给定一个目录字符串,我该如何查找其中是否存在任何文件?
os.path.isFile() # only accepts a specific file path
os.listdir(dir) == [] # accepts sub-directories
我的目标是检查一个路径是否只有文件 (不包括子目录)。
如果给定一个目录字符串,我该如何查找其中是否存在任何文件?
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))
解析正在发生的事情:
作为一个选项,如果您想要遍历给定路径下的所有子目录并检查文件,可以使用os.walk,并像这样检查当前层级是否包含任何文件:
for dir, sub_dirs, files in os.walk(path):
if not files:
print("no files at this level")
any_files = len(glob.glob(os.path.join(dir_path, '*.*'))) > 0
就足够了。 - martineau