質問:
次の方法に頼らずにファイルが存在するかどうかを確認するにはどうすればよいですか?例外処理していますか?
答え:
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 を使用できます。より正確なチェックのために try ブロック内で (strict=True):
try: my_abs_path = my_file.resolve(strict=True) except FileNotFoundError: # doesn't exist else: # exists
以上がPython で例外を使用せずにファイルの存在を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。