Python教程: 如何检查文件是否存在,如何在不引起异常(Exception)的情况下检查一个文件是否存在

Python 检查文件是否存在

本文主要给大家分享几种Python中常用的检查文件是否存在的方法

如何在不使用try语句的情况下检查文件是否存在?

如果不打算立即打开文件,可以使用os.path.isfile

如果 path 是现有的常规文件,则返回True。注意此接口支持符号链接,islink()isfile()对于同一路径都可以为真。

import os.path
os.path.isfile(fname) Code language: CSS (css)

使用pathlib

从 Python 3.4 开始,pathlib模块提供了一种面向对象的方法

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file existsCode language: PHP (php)

要检查目录,请执行以下操作:

if my_file.is_dir():
    # directory existsCode language: CSS (css)

要检查一个Path对象(不管它是文件还是目录)存在,请使用exists():

if my_file.exists():
    # path existsCode language: CSS (css)

用os.path.exists检查文件和目录:

import os.path
os.path.exists(file_path)Code language: CSS (css)

isfile vs exist

>>> os.path.isfile("/etc/password.txt")
True
>>> os.path.isfile("/etc")
False
>>> os.path.isfile("/does/not/exist")
False
>>> os.path.exists("/etc/password.txt")
True
>>> os.path.exists("/etc")
True
>>> os.path.exists("/does/not/exist")
FalseCode language: PHP (php)

855

os.access()与 os.path.isfile()一起配合使用:

import os

PATH = './file.txt'
if os.path.isfile(PATH) and os.access(PATH, os.R_OK):
    print("File exists and is readable")
else:
    print("Either the file is missing or not readable")Code language: PHP (php)

发表评论