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

Python: Check if a directory exists using os module

我正在尝试使用OS模块验证作为用户输入接收的目录是否存在。

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

1
2
directory = input("Hi !
 please type a directory, thanks !"
)

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


1
2
3
4
5
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()返回False以查找不存在的路径,但是检查这两个都可以让您提供更好的错误消息。

编辑:注意在python 3.4中添加了pathlib。如果出于任何原因仍在使用旧版本,则可以使用旧的os.path.isdir(filename)函数。


你读过os模块的文档了吗?

查看以下两个链接:

os.path.exists()。

Return True if path refers to an existing path.

路径

Return True if path is an existing directory.