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 模块检查目录是不是存在的主要内容,如果未能解决你的问题,请参考以下文章