Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Semak Kewujudan Fail dalam Python Tanpa Menggunakan Pengecualian?

Bagaimanakah Saya Boleh Semak Kewujudan Fail dalam Python Tanpa Menggunakan Pengecualian?

Mary-Kate Olsen
Lepaskan: 2024-12-21 03:18:13
asal
306 orang telah melayarinya

How Can I Check for File Existence in Python Without Using Exceptions?

Cara Mengesahkan Kewujudan Fail Tanpa Pengecualian

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)
Salin selepas log masuk

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
Salin selepas log masuk

Untuk direktori:

if my_file.is_dir():
    # directory exists
Salin selepas log masuk

Untuk mengesahkan kewujudan laluan tanpa mengira jenis fail:

if my_file.exists():
    # path exists
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan