检查文件或路径是否存在
使用 EAFP 编码样式和 try
打开它。
import errno
try:
with open(path) as f:
# File exists
except IOError as e:
# Raise the exception if it is not ENOENT (No such file or directory)
if e.errno != errno.ENOENT:
raise
# No such file or directory
如果另一个进程在检查之间和使用它时删除了文件,这也将避免竞争条件。在以下情况下可能会发生这种竞争情况:
-
使用
os
模块:import os os.path.isfile('/path/to/some/file.txt')
Python 3.x >= 3.4
-
使用
pathlib
:import pathlib path = pathlib.Path('/path/to/some/file.txt') if path.is_file(): ...
要检查给定路径是否存在,你可以按照上述 EAFP 过程,或明确检查路径:
import os
path = "/home/myFiles/directory1"
if os.path.exists(path):
## Do stuff