如何检查目录是否存在?
当前回答
Python 3.4在标准库中引入了pathlib模块,它提供了一种面向对象的方法来处理文件系统路径。Path对象的is_dir()和exists()方法可用于回答以下问题:
In [1]: from pathlib import Path
In [2]: p = Path('/usr')
In [3]: p.exists()
Out[3]: True
In [4]: p.is_dir()
Out[4]: True
路径(和字符串)可以使用/运算符连接在一起:
In [5]: q = p / 'bin' / 'vim'
In [6]: q
Out[6]: PosixPath('/usr/bin/vim')
In [7]: q.exists()
Out[7]: True
In [8]: q.is_dir()
Out[8]: False
Python 2.7上也可以通过PyPi上的pathlib2模块获得Pathlib。
其他回答
Python 3.4在标准库中引入了pathlib模块,它提供了一种面向对象的方法来处理文件系统路径。Path对象的is_dir()和exists()方法可用于回答以下问题:
In [1]: from pathlib import Path
In [2]: p = Path('/usr')
In [3]: p.exists()
Out[3]: True
In [4]: p.is_dir()
Out[4]: True
路径(和字符串)可以使用/运算符连接在一起:
In [5]: q = p / 'bin' / 'vim'
In [6]: q
Out[6]: PosixPath('/usr/bin/vim')
In [7]: q.exists()
Out[7]: True
In [8]: q.is_dir()
Out[8]: False
Python 2.7上也可以通过PyPi上的pathlib2模块获得Pathlib。
我们可以检查2个内置函数
os.path.isdir("directory")
如果指定的目录可用,它将为布尔值true。
os.path.exists("directoryorfile")
如果指定的目录或文件可用,它将为boolead true。
检查路径是否为目录;
os.path.isdir(“目录路径”)
如果路径为directory,则返回布尔值true
是的,使用os.path.exists()。
仅提供os.stat版本(python 2):
import os, stat, errno
def CheckIsDir(directory):
try:
return stat.S_ISDIR(os.stat(directory).st_mode)
except OSError, e:
if e.errno == errno.ENOENT:
return False
raise
os为您提供了许多这些功能:
import os
os.path.isdir(dir_in) #True/False: check if this is a directory
os.listdir(dir_in) #gets you a list of all files and directories under dir_in
如果输入路径无效,listdir将抛出异常。
推荐文章
- Python创建一个列表字典
- 从函数中获取文档字符串
- VSCode——如何设置调试Python程序的工作目录
- 定义类型的区别。字典和字典?
- 如何做一个递归子文件夹搜索和返回文件在一个列表?
- Python请求发送参数数据
- 只用一次matplotlib图例标记
- 如何获得退出代码时使用Python子进程通信方法?
- 以编程方式将图像保存到Django ImageField中
- Java“虚拟机”vs. Python“解释器”的说法?
- 检查环境变量是否存在的良好实践是什么?
- 在安装eventlet时,命令“gcc”失败,退出状态为1
- 连接一个NumPy数组到另一个NumPy数组
- 如何在Python中使用自定义消息引发相同的异常?
- 如何转换逗号分隔的字符串列表在Python?