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

CG_*_*orp 4 python validation input python-3.x python-os

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

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

directory = input("Hi ! \n please type a directory, thanks !")
Run Code Online (Sandbox Code Playgroud)

这个想法是我想确保用户将输入一个现有的目录而不是别的

Dra*_*nis 5

from pathlib import Path

def is_valid_directory(filename):
    p = Path(filename)
    return p.exists() and p.is_dir()
Run Code Online (Sandbox Code Playgroud)

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

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


AK4*_*K47 5

os您阅读过该模块的文档吗?

查看以下两个链接:

os.path.exists()

如果路径引用现有路径,则返回 True。

os.path.isdir()

如果路径是现有目录,则返回 True。