问题:
如何确定文件是否存在而不求助于例外
答案:
try-except 方法:
使用 try- except 块检查文件时存在看似直观,但它引入了安全风险。假设您打算在检查后打开该文件。在这种情况下,文件有可能在检查和打开操作之间被删除或修改。
os.path.isfile:
对于立即文件的情况不需要打开,您可以利用 os.path.isfile。此函数评估指定路径是否指向现有文件,包括通过符号链接访问的文件。
import os.path os.path.isfile(fname)
pathlib 方法 (Python 3.4 ):
Python 3.4引入了用于面向对象的文件系统交互方法的pathlib。
检查文件存在:
from pathlib import Path my_file = Path("/path/to/file") if my_file.is_file(): # file exists
对于目录:
if my_file.is_dir(): # directory exists
要验证路径是否存在(无论文件类型如何):
if my_file.exists(): # path exists
此外,您可以使用resolve (strict=True) 在 try 块中进行更精确的检查:
try: my_abs_path = my_file.resolve(strict=True) except FileNotFoundError: # doesn't exist else: # exists
以上是如何在 Python 中检查文件是否存在而不使用异常?的详细内容。更多信息请关注PHP中文网其他相关文章!