File dan Data · Pelajaran 4 dari 8

Bekerja dengan file dan folder

9 menit baca · BelajarCode

Modul pathlib adalah cara modern untuk bekerja dengan file dan folder di Python. Contoh di pelajaran ini membuat folder latihan sendiri, jadi aman dijalankan di Playground.

Python
1from pathlib import Path23folder = Path("latihan_laporan")4folder.mkdir(exist_ok=True)56for bulan in ["januari", "februari", "maret"]:7    berkas = folder / f"laporan {bulan} 2026.txt"8    berkas.write_text(f"Laporan penjualan bulan {bulan}\n", encoding="utf-8")910for berkas in sorted(folder.iterdir()):11    print(berkas.name, "|", berkas.stat().st_size, "byte")
Keluaran
laporan februari 2026.txt | 33 byte
laporan januari 2026.txt | 32 byte
laporan maret 2026.txt | 30 byte
  • Path("latihan_laporan") mewakili sebuah jalur folder.
  • folder / "nama.txt" menyusun jalur dengan aman di Windows, macOS, maupun Linux.
  • mkdir(exist_ok=True) membuat folder, tanpa error jika sudah ada.
  • write_text dan read_text menulis dan membaca isi file teks.

Mengganti nama file secara massal

Python
1from pathlib import Path23folder = Path("latihan_foto")4folder.mkdir(exist_ok=True)5for nama in ["IMG_2031.JPG", "IMG_2032.jpg", "foto produk.PNG", "catatan.txt"]:6    (folder / nama).write_text("isi contoh", encoding="utf-8")78gambar = sorted(p for p in folder.iterdir() if p.suffix.lower() in (".jpg", ".png"))9for nomor, berkas in enumerate(gambar, start=1):10    baru = folder / f"produk-{nomor:02d}{berkas.suffix.lower()}"11    print(f"{berkas.name:<16} -> {baru.name}")12    berkas.rename(baru)1314print(sorted(p.name for p in folder.iterdir()))
Keluaran
IMG_2031.JPG     -> produk-01.jpg
IMG_2032.jpg     -> produk-02.jpg
foto produk.PNG  -> produk-03.png
['catatan.txt', 'produk-01.jpg', 'produk-02.jpg', 'produk-03.png']

p.suffix adalah ekstensi file, misalnya .JPG. Ekstensi diubah ke huruf kecil supaya seragam. File catatan.txt tidak tersentuh karena bukan gambar.

Uji dulu tanpa mengubah apa pun

Saat memakai program seperti ini untuk file sungguhan, jalankan dulu dengan baris rename dijadikan komentar, supaya program hanya menampilkan rencana perubahan. Setelah yakin, baru jalankan versi yang benar-benar mengganti nama. Simpan juga cadangan folder aslinya.

Mencari file

Python
1from pathlib import Path23akar = Path("latihan_arsip")4(akar / "2025").mkdir(parents=True, exist_ok=True)5(akar / "2026").mkdir(parents=True, exist_ok=True)6(akar / "2025" / "nota-001.csv").write_text("a", encoding="utf-8")7(akar / "2026" / "nota-014.csv").write_text("b", encoding="utf-8")8(akar / "2026" / "rapat.txt").write_text("c", encoding="utf-8")910for berkas in sorted(akar.rglob("*.csv")):11    print(berkas.relative_to(akar))
Keluaran
2025/nota-001.csv
2026/nota-014.csv

rglob("*.csv") mencari semua file CSV di folder itu beserta seluruh subfoldernya.

File di Playground

Di Playground, file disimpan di memori sementara peramban dan hilang saat halaman Playground dimuat ulang. Di komputermu sendiri, program yang sama bekerja dengan file sungguhan, jadi berhati-hatilah dengan perintah yang mengubah atau menghapus file.

Cek pemahaman

Kenapa jalur file sebaiknya disusun dengan folder / "nama.txt" daripada menggabungkan teks "folder" + "/" + "nama.txt"?

Latihan

Kelompokkan file menurut ekstensi

Buat folder latihan berisi beberapa file dengan ekstensi berbeda (.pdf, .xlsx, .jpg). Pindahkan setiap file ke subfolder sesuai ekstensinya, misalnya pdf/, xlsx/, dan jpg/.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi