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

时间:2018-02-27 04:00:43

标签: python python-3.x validation input python-os

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

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

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

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

2 个答案:

答案 0 :(得分:3)

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)功能。

答案 1 :(得分:1)

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

查看以下两个链接:

os.path.exists()

  

如果path指的是现有路径,则返回True。

os.path.isdir()

  

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