Python:使用os模块检查目录是否存在

Python: Check if a directory exists using os module

我正在尝试使用 os 模块

验证作为用户输入接收到的目录是否存在

这就是我接受输入的方式:

directory = input("Hi ! \n please type a directory, thanks !")

我的想法是确保用户将键入现有目录而不是其他任何内容

from pathlib import Path

def is_valid_directory(filename):
    p = Path(filename)
    return p.exists() and p.is_dir()

pathlib 是一个非常方便的模块,用于处理任何类型的文件路径。 p.exists() 调用是多余的,因为 p.is_dir() returns False 对于不存在的路径,但是检查两者将允许您例如给出更好的错误信息。

编辑:请注意 pathlib 是在 Python 3.4 中添加的。如果您出于某种原因仍在使用旧版本,则可以使用旧的 os.path.isdir(filename) 函数。

您是否阅读了 os 模块的文档?

查看以下两个链接:

os.path.exists()

Return True if path refers to an existing path.

os.path.isdir()

Return True if path is an existing directory.