Soalan:
Bagaimana saya boleh menentukan sama ada fail wujud tanpa menggunakan pengecualian pengendalian?
Jawapan:
Pendekatan cuba-kecuali:
Semasa menggunakan blok cuba-kecuali untuk menyemak fail kewujudan mungkin kelihatan intuitif, ia memperkenalkan risiko keselamatan. Katakan anda bercadang untuk membuka fail selepas menyemak. Dalam kes itu, terdapat kemungkinan fail itu boleh dipadamkan atau diubah suai antara semakan dan operasi terbuka.
os.path.isfile:
Untuk kes di mana fail segera pembukaan tidak perlu, anda boleh memanfaatkan os.path.isfile. Fungsi ini menilai jika laluan yang ditentukan menghala ke fail sedia ada, termasuk yang diakses melalui pautan simbolik.
import os.path os.path.isfile(fname)
Pendekatan pathlib (Python 3.4 ):
Python 3.4 memperkenalkan pathlib untuk pendekatan interaksi sistem fail berorientasikan objek.
Untuk menyemak fail kewujudan:
from pathlib import Path my_file = Path("/path/to/file") if my_file.is_file(): # file exists
Untuk direktori:
if my_file.is_dir(): # directory exists
Untuk mengesahkan kewujudan laluan tanpa mengira jenis fail:
if my_file.exists(): # path exists
Selain itu, anda boleh menggunakan penyelesaian (strict=True) dalam blok percubaan untuk semakan yang lebih tepat:
try: my_abs_path = my_file.resolve(strict=True) except FileNotFoundError: # doesn't exist else: # exists
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kewujudan Fail dalam Python Tanpa Menggunakan Pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!