檢查檔案或路徑是否存在

使用 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