Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Cara Menampilkan Semua File di Direktori dengan Python

1 min read .
Cara Menampilkan Semua File di Direktori dengan Python

Kalau kamu sering main-main dengan file system di Python, salah satu tugas yang sering muncul adalah menampilkan semua file dalam sebuah direktori. Ini berguna buat banyak hal, mulai dari manajemen file, pemrosesan data, sampai sekadar eksplorasi isi folder. Di sini, kita akan bahas beberapa cara untuk melakukannya, lengkap dengan contoh dan tips praktis.

1. Menggunakan os.listdir()

Modul os memberikan cara sederhana untuk menampilkan semua entri dalam direktori. Fungsi os.listdir() mengembalikan semua isi direktori, termasuk file dan subdirektori. Untuk mengambil hanya file, kita bisa tambahkan filter.

import os

def list_files(directory):
    try:
        entries = os.listdir(directory)
        files = [f for f in entries if os.path.isfile(os.path.join(directory, f))]
        return files
    except FileNotFoundError:
        print(f"Direktori '{directory}' tidak ditemukan.")
        return []

# Contoh penggunaan
directory_path = '/path/to/directory'
print(list_files(directory_path))

Di sini, os.path.isfile() memastikan kita hanya mengambil file.

2. Menggunakan os.scandir()

Mulai Python 3.5, os.scandir() hadir sebagai cara yang lebih efisien untuk iterasi direktori. Ia mengembalikan iterator dari DirEntry yang sudah punya info tipe file.

import os

def list_files(directory):
    try:
        with os.scandir(directory) as entries:
            files = [entry.name for entry in entries if entry.is_file()]
        return files
    except FileNotFoundError:
        print(f"Direktori '{directory}' tidak ditemukan.")
        return []

directory_path = '/path/to/directory'
print(list_files(directory_path))

Lebih efisien dibanding os.listdir(), apalagi kalau direktori besar.

3. Menggunakan pathlib.Path

pathlib (Python 3.4+) menawarkan pendekatan object-oriented. Path punya metode untuk iterasi direktori dan pengecekan file.

from pathlib import Path

def list_files(directory):
    try:
        path = Path(directory)
        files = [f.name for f in path.iterdir() if f.is_file()]
        return files
    except FileNotFoundError:
        print(f"Direktori '{directory}' tidak ditemukan.")
        return []

directory_path = '/path/to/directory'
print(list_files(directory_path))

Dengan Path.iterdir(), kode jadi lebih rapi dan modern.

4. Praktik Terbaik

  • Tangani Exception: Selalu siap-siap menghadapi FileNotFoundError supaya program nggak crash.
  • Filter Berdasarkan Tipe File: Kalau cuma butuh file tertentu, pakai filter ekstensi atau modul glob.
  • Performa: Untuk direktori besar, os.scandir() atau pathlib.Path lebih cepat dibanding os.listdir().

Kesimpulan

Menampilkan semua file dalam direktori adalah tugas yang sering muncul dan bisa dilakukan dengan berbagai cara di Python. Mulai dari sederhana dengan os.listdir(), efisien dengan os.scandir(), sampai modern dan rapi dengan pathlib. Pilih metode yang paling cocok sesuai kebutuhanmu, dan kamu bisa mengelola file dengan lebih mudah dan efektif.

Lihat Juga

chevron-up