Memeriksa Keberadaan File dan Direktori dalam Python – Panduan Praktis
Mengapa Memeriksa Keberadaan Jalur Penting
Saat membangun aplikasi Python yang kuat, Anda sering perlu memastikan apakah file atau direktori ada sebelum melakukan operasi seperti membaca, menulis, atau menghapus. Melewati pemeriksaan ini dapat menyebabkan runtime errors dan kerusakan yang tidak terduga. Panduan ini mencakup metode terandalkan, yang berasal dari dokumentasi Python resmi dan pola praktik terbaik.
Menggunakan os.path.exists()
Modul os.path, bagian dari perpustakaan standar, menyediakan fungsi exists() yang sederhana yang mengembalikan True jika jalur merujuk pada file atau direktori yang ada. Ini adalah metode yang paling sering digunakan untuk pemeriksaan keberadaan sederhana.
import os from os import path print(path.exists('guru99.txt')) # True jika file ada print(path.exists('myDirectory')) # True jika direktori ada
Kasus Penggunaan Umum
def check_item(path_str): if path.exists(path_str): print(f"{path_str} ada.") else: print(f"{path_str} tidak ada.")
Membedakan File dari Direktori
Untuk mengidentifikasi jenis spesifik dari jalur yang ada, Python menawarkan dua fungsi komplementer: isfile() dan isdir(). Mereka mengembalikan True hanya jika jalur adalah file reguler atau direktori, masing-masing.
print(path.isfile('guru99.txt')) # True jika itu file print(path.isdir('myDirectory')) # True jika itu direktori
Memanfaatkan pathlib – Pendekatan Modern
Diperkenalkan di Python 3.4, modul pathlib menawarkan antarmuka berorientasi objek untuk jalur sistem berkas. Objek Pathnya menyediakan metode seperti exists(), is_file(), dan is_dir(), yang banyak pengembang temukan lebih mudah dibaca.
from pathlib import Path file_path = Path('guru99.txt') print(file_path.exists()) # True jika file atau direktori ada print(file_path.is_file()) # True jika itu file reguler print(file_path.is_dir()) # True jika itu direktori
Praktik Terbaik yang Direkomendasikan
- Selalu impor modul sekali; hindari impor berulang.
- Gunakan objek
Path untuk proyek baru untuk mendapatkan sintaks yang lebih jelas. - Saat melakukan operasi tulis, periksa keberadaan terlebih dahulu untuk mencegah penimpaan atau untuk membuat direktori dengan
Path.mkdir(). - Tangani pengecualian
FileNotFoundError saat mengakses jalur yang mungkin berubah antara pemeriksaan dan operasi.
Referensi Cepat
| Fungsi | Mengembalikan True Jika |
os.path.exists() | Jalur atau direktori ada |
os.path.isfile() | Jalur adalah file reguler yang ada |
os.path.isdir() | Jalur adalah direktori yang ada |
pathlib.Path.exists() | Jalur atau direktori ada (Python 3.4+) |
pathlib.Path.is_file() | Jalur adalah file reguler yang ada |
pathlib.Path.is_dir() | Jalur adalah direktori yang ada |
Untuk dokumentasi detail, lihat modul os.path dan pathlib resmi.