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

Posted

技术标签:

【中文标题】Python:使用 os 模块检查目录是不是存在【英文标题】:Python: Check if a directory exists using os modulePython:使用 os 模块检查目录是否存在 【发布时间】:2018-08-06 15:22:42 【问题描述】:

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

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

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

这个想法是我想确保用户将键入一个现有目录而不是其他任何东西

【问题讨论】:

用“\”而不是“\”? os.path.isdir ? os.path.exists() os.path.isdir() How to find if directory exists in Python的可能重复 【参考方案1】:

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

查看以下两个链接:

os.path.exists()

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

os.path.isdir()

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

【讨论】:

【参考方案2】:
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,但是检查两者可以让你例如提供更好的错误信息。

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

【讨论】:

以上是关于Python:使用 os 模块检查目录是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

检查目录是不是存在于lua中?

Python判断文件是否存在的方法

Python判断文件是否存在的三种方法

python模块之os模块详解

python 看是不是存在文件夹 Python 判断文件/目录是不是存在

Python 判断文件是否存在的三种方法