【Python那些事儿】判断文件/文件夹是否存在的方法

通常在读写文件/文件夹之前要判断其是否存在,不然程序可能会出错。所以,在做任何操作之前,最好先判断文件/文件夹是否存在。
判断方法:

  • os模块
  • try语句
  • pathlib模块

os模块

  • os.path.exists(path):判断文件/文件夹是否存在
  • os.path.isdir(path):判断文件夹是否存在
  • os.path.isfile(path):判断文件是否存在
  • os.access(path, mode):判断文件是否可做读写操作。mode为操作模式:
    • os.F_OK:检查文件是否存在
    • os.R_OK:检查文件是否可读
    • os.W_OK:检查文件是否可写
    • os.R_OK:检查文件是否可执行

try语句

可以在程序中直接使用open()方法来检查文件是否存在和可读写。如果open的文件不存在,程序会抛出错误,使用try语句来捕获这个错误。程序无法访问文件,可能有很多原因:

  • open的文件不存在,将抛出一个FileNotFoundError的异常;
  • open的文件存在,但没有访问权限,会抛出一个PersmissionError的异常。

例如:

    try:
        with open('/home/spark/scale.py') as file_o:
            for line in file_o:
                print line
    except IOError:#FileNotFoundError异常和PersmissionError异常都是IOError的子类
        print 'File is not accessible or not found!'

使用try语句进行判断,处理所有异常非常简单和优雅,而且相比其他不需要引入外部模块。

pathlib模块

pathlib模块在Python3中是內建模块,但在Python2中需要单独安装。使用pathlib需要先使用文件路径来创建path对象,此路径可以是文件名或目录路径。

  • 检查路径是否存在:
path = pathlib.Path('path/file')
path.exists()
  • 检查路径是否是文件:
path = pathlib.Path('path/file')
path.is_file()

你可能感兴趣的:(python,文件,Python)