Python 操作文件时,我们一般要先判断指定的文件或目录是否存在,不然容易产生异常。
例如我们可以使用 os 模块的 os.path.exists() 方法来检测文件是否存在:
import os.path
os.path.isfile(fname)
如果你要确定他是文件还是目录,从 Python 3.4 开始可以使用 pathlib 模块提供的面向对象的方法 (Python 2.7 为 pathlib2 模块):
from pathlib import Path
my_file = Path("/path/to/file")
if my_file.is_file():
# 指定的文件存在
检测是否为一个目录:
if my_file.is_dir():
# 指定的目录存在
如果要检测路径是一个文件或目录可以使用 exists() 方法:
if my_file.exists():
# 指定的文件或目录存在
在 try 语句块中你可以使用 resolve() 方法来判断:
try:
my_abs_path = my_file.resolve()
except FileNotFoundError:
# 不存在
else:
# 存在