Python:检查给定目录中是否存在任何文件

时间:2015-11-01 14:38:34

标签: python file path directory

将目录作为字符串给出,如何找到其中是否存在任何文件?

os.path.isFile()       # only accepts a specific file path
os.listdir(dir) == []  # accepts sub-directories

我的目标是检查路径是否仅缺少文件(也不是子目录)。

1 个答案:

答案 0 :(得分:11)

要仅检查一个特定目录,这样的解决方案就足够了:

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将走你的路。
  • 使用any如果通过在其上调用listdir遍历路径内容来找到文件,则会返回True。请注意使用join作为路径,以便提供合格的文件路径名称以进行正确检查。

作为一个选项,如果你想遍历给定路径的所有子目录并检查文件,你可以使用os.walk并检查你所在的级别是否包含这样的文件:

for dir, sub_dirs, files in os.walk(path):
    if not files:
        print("no files at this level")