Direktori dalam Python
Direktori merupakan bagian penting dalam pengelolaan berkas menggunakan Python. Melalui direktori, program dapat mengetahui lokasi berkas, membuat folder baru, mengganti nama folder, menghapus folder, serta melihat daftar berkas yang tersimpan dalam suatu lokasi.
Sebelum mempelajari materi tentang Direktori dalam Python, terlebih dahulu pelajari materi tentang: Modul dalam Python, Paket dalam Python, dan Fungsi Utama main dalam Python.
Sebelum mempelajari materi tentang Direktori dalam Python, terlebih dahulu pelajari materi tentang: Modul dalam Python, Paket dalam Python, dan Fungsi Utama main dalam Python.
Kemampuan mengelola direktori sangat berguna ketika membuat program yang berhubungan dengan berkas, seperti aplikasi pengolah dokumen, pengelola gambar, sistem pencadangan data, aplikasi administrasi, dan berbagai program lainnya.
Python menyediakan beberapa modul yang dapat digunakan untuk bekerja dengan direktori. Salah satu modul yang paling sering digunakan adalah modul `os`. Selain itu, terdapat modul `pathlib` yang menyediakan cara yang lebih terstruktur untuk mengelola jalur berkas dan direktori.
Dalam penggunaan sehari-hari, direktori sering disebut sebagai folder. Sebagai contoh, sebuah komputer dapat memiliki struktur seperti berikut:
Dokumen/
├── tugas.py
├── data.txt
└── laporan/
├── laporan1.txt
└── laporan2.txt
Pada struktur tersebut, `Dokumen` merupakan direktori utama. Di dalamnya terdapat beberapa berkas dan direktori lain bernama `laporan`. Python dapat digunakan untuk membaca dan mengubah struktur tersebut melalui program.
Sebelum menggunakan modul `os`, modul perlu diimpor.
import os
Setelah itu, berbagai fungsi yang tersedia dalam modul tersebut dapat digunakan.
Contohnya:
import os
print(os.getcwd())
Fungsi `os.getcwd()` digunakan untuk mendapatkan lokasi direktori kerja saat ini.
Untuk mengetahuinya, gunakan `os.getcwd()`.
import os
lokasi = os.getcwd()
print(lokasi)
Hasil yang ditampilkan bergantung pada lokasi program dijalankan.
Contoh hasil:
C:\Users\Belajar\Dokumen
Pada sistem operasi lain, bentuk jalurnya dapat berbeda.
Keduanya tetap berguna. Modul `os` banyak digunakan pada program Python lama maupun program yang membutuhkan fungsi sistem operasi secara luas. `pathlib` menyediakan pendekatan berbasis objek yang sering lebih mudah dibaca.
import os
for item in os.listdir():
print(item)
Program tersebut sangat sederhana, tetapi dapat menjadi dasar untuk membuat aplikasi pengelola berkas.
import os
for item in os.listdir():
if os.path.isfile(item):
print("[BERKAS]", item)
elif os.path.isdir(item):
print("[DIREKTORI]", item)
Contoh hasil:
[BERKAS] tugas.py
[BERKAS] data.txt
[DIREKTORI] gambar
[DIREKTORI] laporan
import os
jumlah = 0
for item in os.listdir():
if os.path.isfile(item):
jumlah += 1
print("Jumlah berkas:", jumlah)
Program tersebut hanya menghitung berkas yang berada langsung di direktori kerja.
from pathlib import Path
folder = Path(".")
jumlah = 0
for file in folder.glob("*.py"):
jumlah += 1
print("Jumlah berkas Python:", jumlah)
Program ini dapat dikembangkan menjadi alat sederhana untuk memeriksa isi sebuah folder proyek Python.
Contoh:
import os
os.mkdir("data")
os.mkdir("data")
Perintah kedua dapat menghasilkan kesalahan karena direktori `data` sudah tersedia.
Pencegahannya:
import os
if not os.path.exists("data"):
os.mkdir("data")
import os
os.chdir("folder_tidak_ada")
Sebaiknya periksa keberadaan direktori terlebih dahulu.
import os
if os.path.isdir("data"):
os.chdir("data")
else:
print("Direktori tidak ditemukan")
import os
os.rmdir("data")
Jika `data` masih berisi berkas, direktori tersebut tidak dapat dihapus menggunakan `os.rmdir()`.
from pathlib import Path
folder = Path(".")
print("Isi direktori:")
for item in folder.iterdir():
if item.is_file():
print("Berkas :", item.name)
elif item.is_dir():
print("Folder :", item.name)
Program tersebut membaca isi direktori saat ini dan menampilkan jenis setiap elemen.
Contoh hasil:
Isi direktori:
Berkas : program.py
Berkas : data.txt
Folder : gambar
Folder : laporan
proyek/
├── data/
├── gambar/
└── hasil/
Python menyediakan modul `os` dan `pathlib` untuk mengelola direktori. Beberapa operasi yang penting untuk dipahami antara lain mendapatkan direktori kerja dengan `os.getcwd()`, mengubah direktori dengan `os.chdir()`, membuat direktori menggunakan `os.mkdir()` atau `Path.mkdir()`, melihat isi direktori menggunakan `os.listdir()` atau `Path.iterdir()`, memeriksa berkas dan direktori, mengganti nama, serta menghapus direktori.
Modul `pathlib` juga menyediakan cara yang praktis untuk menggabungkan jalur dan mencari berkas berdasarkan pola menggunakan `glob()` dan `rglob()`.
Penguasaan operasi direktori akan menjadi dasar yang berguna untuk mempelajari pengelolaan berkas, pembacaan data, penyimpanan hasil program, pencadangan, pengolahan dokumen, hingga pembuatan aplikasi yang bekerja dengan banyak berkas.
Python menyediakan beberapa modul yang dapat digunakan untuk bekerja dengan direktori. Salah satu modul yang paling sering digunakan adalah modul `os`. Selain itu, terdapat modul `pathlib` yang menyediakan cara yang lebih terstruktur untuk mengelola jalur berkas dan direktori.
Pengertian Direktori
Direktori adalah tempat yang digunakan untuk menyimpan dan mengelompokkan berkas serta direktori lainnya.Dalam penggunaan sehari-hari, direktori sering disebut sebagai folder. Sebagai contoh, sebuah komputer dapat memiliki struktur seperti berikut:
Dokumen/
├── tugas.py
├── data.txt
└── laporan/
├── laporan1.txt
└── laporan2.txt
Pada struktur tersebut, `Dokumen` merupakan direktori utama. Di dalamnya terdapat beberapa berkas dan direktori lain bernama `laporan`. Python dapat digunakan untuk membaca dan mengubah struktur tersebut melalui program.
Modul os
Modul `os` menyediakan berbagai fungsi untuk berinteraksi dengan sistem operasi. Modul ini dapat digunakan untuk bekerja dengan direktori, berkas, jalur, dan informasi sistem.Sebelum menggunakan modul `os`, modul perlu diimpor.
import os
Setelah itu, berbagai fungsi yang tersedia dalam modul tersebut dapat digunakan.
Contohnya:
import os
print(os.getcwd())
Fungsi `os.getcwd()` digunakan untuk mendapatkan lokasi direktori kerja saat ini.
Mengetahui Direktori Kerja Saat Ini
Direktori kerja saat ini merupakan lokasi yang sedang digunakan oleh program Python ketika menjalankan operasi terhadap berkas atau direktori.Untuk mengetahuinya, gunakan `os.getcwd()`.
import os
lokasi = os.getcwd()
print(lokasi)
Hasil yang ditampilkan bergantung pada lokasi program dijalankan.
Contoh hasil:
C:\Users\Belajar\Dokumen
Pada sistem operasi lain, bentuk jalurnya dapat berbeda.
Mengetahui direktori kerja sangat penting karena beberapa operasi terhadap berkas menggunakan lokasi tersebut sebagai acuan.
Contoh:
import os
os.chdir("C:\\Users\\Belajar\\Dokumen")
print(os.getcwd())
Setelah `os.chdir()` dijalankan, direktori kerja program berpindah ke lokasi yang ditentukan. Pada sistem yang mendukung jalur dengan garis miring, bentuk berikut juga dapat digunakan:
import os
os.chdir("/home/belajar/dokumen")
Penggunaan jalur bergantung pada sistem operasi yang digunakan.
Contoh:
import os
os.mkdir("data")
Program tersebut membuat direktori bernama `data` di dalam direktori kerja saat ini. Setelah program dijalankan, struktur direktori dapat menjadi:
Dokumen/
├── data/
├── tugas.py
└── laporan.txt
Jika direktori dengan nama tersebut sudah tersedia, Python dapat menghasilkan kesalahan.
Contohnya:
proyek/
└── data/
└── hasil/
Untuk membuat struktur seperti tersebut, fungsi `os.makedirs()` dapat digunakan.
import os
os.makedirs("proyek/data/hasil")
Fungsi `makedirs()` dapat membuat beberapa tingkat direktori sekaligus. Cara tersebut lebih praktis daripada membuat setiap direktori satu per satu.
Mengubah Direktori Kerja
Python juga dapat mengubah direktori kerja menggunakan fungsi `os.chdir()`.Contoh:
import os
os.chdir("C:\\Users\\Belajar\\Dokumen")
print(os.getcwd())
Setelah `os.chdir()` dijalankan, direktori kerja program berpindah ke lokasi yang ditentukan. Pada sistem yang mendukung jalur dengan garis miring, bentuk berikut juga dapat digunakan:
import os
os.chdir("/home/belajar/dokumen")
Penggunaan jalur bergantung pada sistem operasi yang digunakan.
Membuat Direktori Baru
Python dapat membuat direktori baru menggunakan fungsi `os.mkdir()`.Contoh:
import os
os.mkdir("data")
Program tersebut membuat direktori bernama `data` di dalam direktori kerja saat ini. Setelah program dijalankan, struktur direktori dapat menjadi:
Dokumen/
├── data/
├── tugas.py
└── laporan.txt
Jika direktori dengan nama tersebut sudah tersedia, Python dapat menghasilkan kesalahan.
Membuat Beberapa Tingkat Direktori
Terkadang diperlukan beberapa direktori sekaligus.Contohnya:
proyek/
└── data/
└── hasil/
Untuk membuat struktur seperti tersebut, fungsi `os.makedirs()` dapat digunakan.
import os
os.makedirs("proyek/data/hasil")
Fungsi `makedirs()` dapat membuat beberapa tingkat direktori sekaligus. Cara tersebut lebih praktis daripada membuat setiap direktori satu per satu.
Mengecek Apakah Direktori Sudah Ada
Sebelum membuat direktori, sebaiknya program memeriksa terlebih dahulu apakah direktori tersebut sudah tersedia.Python menyediakan `os.path.exists()`.
import os
if os.path.exists("data"):
print("Direktori sudah ada")
else:
os.mkdir("data")
print("Direktori berhasil dibuat")
Cara tersebut dapat mencegah kesalahan akibat mencoba membuat direktori yang sudah tersedia.
Contoh:
import os
if os.path.isdir("data"):
print("data adalah direktori")
else:
print("data bukan direktori")
Fungsi tersebut menghasilkan nilai `True` jika jalur yang diperiksa merupakan direktori. Jika bukan direktori, hasilnya adalah `False`.
Gunakan `os.path.isfile()`.
import os
if os.path.isfile("data.txt"):
print("data.txt adalah berkas")
else:
print("data.txt bukan berkas")
Fungsi tersebut berguna ketika program harus membedakan antara berkas dan direktori.
Contoh:
import os
isi = os.listdir()
print(isi)
Program akan menampilkan daftar berkas dan direktori yang terdapat pada direktori kerja saat ini.
Contoh hasil:
['data.txt', 'tugas.py', 'gambar', 'laporan']
Hasil `os.listdir()` berbentuk daftar sehingga setiap elemennya dapat diproses menggunakan perulangan.
Contoh:
import os
for item in os.listdir():
print(item)
Hasilnya dapat berupa:
data.txt
tugas.py
gambar
laporan
import os
isi = os.listdir("data")
for item in isi:
print(item)
Program tersebut menampilkan isi direktori `data`.
Contoh:
import os
for item in os.listdir():
if os.path.isfile(item):
print(item, "adalah berkas")
elif os.path.isdir(item):
print(item, "adalah direktori")
Program tersebut memeriksa setiap isi direktori satu per satu.
Hasil dapat berupa:
data.txt adalah berkas
tugas.py adalah berkas
gambar adalah direktori
laporan adalah direktori
Teknik ini berguna untuk membuat program pengelola berkas sederhana.
Contoh:
import os
os.rmdir("data")
Perintah tersebut menghapus direktori `data` jika direktori tersebut kosong. Jika direktori masih berisi berkas atau direktori lain, operasi tersebut dapat menghasilkan kesalahan.
import shutil
shutil.rmtree("data")
Perintah tersebut menghapus direktori `data` beserta seluruh isi di dalamnya. Operasi ini harus digunakan dengan hati-hati karena berkas yang terhapus dapat sulit dipulihkan.
Contoh:
import os
os.rename("data", "data_baru")
Direktori `data` akan berubah menjadi `data_baru`. Fungsi yang sama juga dapat digunakan untuk mengganti nama berkas.
Gunakan `os.path.getsize()`.
import os
ukuran = os.path.getsize("data.txt")
print(ukuran)
Hasil ukuran diberikan dalam satuan bita.
import os
if os.path.exists("data"):
print("Direktori sudah ada")
else:
os.mkdir("data")
print("Direktori berhasil dibuat")
Cara tersebut dapat mencegah kesalahan akibat mencoba membuat direktori yang sudah tersedia.
Mengecek Apakah Suatu Jalur Merupakan Direktori
Fungsi `os.path.isdir()` dapat digunakan untuk mengetahui apakah suatu jalur merupakan direktori.Contoh:
import os
if os.path.isdir("data"):
print("data adalah direktori")
else:
print("data bukan direktori")
Fungsi tersebut menghasilkan nilai `True` jika jalur yang diperiksa merupakan direktori. Jika bukan direktori, hasilnya adalah `False`.
Mengecek Apakah Suatu Jalur Merupakan Berkas
Selain memeriksa direktori, Python juga dapat memeriksa apakah suatu jalur merupakan berkas.Gunakan `os.path.isfile()`.
import os
if os.path.isfile("data.txt"):
print("data.txt adalah berkas")
else:
print("data.txt bukan berkas")
Fungsi tersebut berguna ketika program harus membedakan antara berkas dan direktori.
Melihat Isi Direktori
Untuk melihat daftar isi sebuah direktori, dapat digunakan fungsi `os.listdir()`.Contoh:
import os
isi = os.listdir()
print(isi)
Program akan menampilkan daftar berkas dan direktori yang terdapat pada direktori kerja saat ini.
Contoh hasil:
['data.txt', 'tugas.py', 'gambar', 'laporan']
Hasil `os.listdir()` berbentuk daftar sehingga setiap elemennya dapat diproses menggunakan perulangan.
Contoh:
import os
for item in os.listdir():
print(item)
Hasilnya dapat berupa:
data.txt
tugas.py
gambar
laporan
Menampilkan Isi Direktori Tertentu
`os.listdir()` juga dapat diberikan nama direktori.import os
isi = os.listdir("data")
for item in isi:
print(item)
Program tersebut menampilkan isi direktori `data`.
Membedakan Berkas dan Direktori
Ketika daftar isi direktori ditampilkan, program dapat memeriksa setiap elemen untuk mengetahui apakah elemen tersebut merupakan berkas atau direktori.Contoh:
import os
for item in os.listdir():
if os.path.isfile(item):
print(item, "adalah berkas")
elif os.path.isdir(item):
print(item, "adalah direktori")
Program tersebut memeriksa setiap isi direktori satu per satu.
Hasil dapat berupa:
data.txt adalah berkas
tugas.py adalah berkas
gambar adalah direktori
laporan adalah direktori
Teknik ini berguna untuk membuat program pengelola berkas sederhana.
Menghapus Direktori
Direktori kosong dapat dihapus menggunakan `os.rmdir()`.Contoh:
import os
os.rmdir("data")
Perintah tersebut menghapus direktori `data` jika direktori tersebut kosong. Jika direktori masih berisi berkas atau direktori lain, operasi tersebut dapat menghasilkan kesalahan.
Menghapus Direktori Beserta Isinya
Untuk menghapus direktori beserta seluruh isi di dalamnya, modul `shutil` dapat digunakan.import shutil
shutil.rmtree("data")
Perintah tersebut menghapus direktori `data` beserta seluruh isi di dalamnya. Operasi ini harus digunakan dengan hati-hati karena berkas yang terhapus dapat sulit dipulihkan.
Mengganti Nama Direktori
Fungsi `os.rename()` dapat digunakan untuk mengganti nama direktori.Contoh:
import os
os.rename("data", "data_baru")
Direktori `data` akan berubah menjadi `data_baru`. Fungsi yang sama juga dapat digunakan untuk mengganti nama berkas.
Mengetahui Ukuran Berkas
Walaupun pembahasan utama berkaitan dengan direktori, Python juga dapat memperoleh ukuran berkas yang terdapat di dalam direktori.Gunakan `os.path.getsize()`.
import os
ukuran = os.path.getsize("data.txt")
print(ukuran)
Hasil ukuran diberikan dalam satuan bita.
Jika ingin menampilkan ukuran dalam kilobita:
ukuran = os.path.getsize("data.txt")
print(ukuran / 1024, "KB")
Contoh:
import os
jalur = os.path.join("data", "hasil.txt")
print(jalur)
Hasilnya akan disesuaikan dengan sistem operasi. Pada sistem tertentu dapat menghasilkan:
data\hasil.txt
Sementara sistem lain dapat menghasilkan:
data/hasil.txt
Penggunaan `os.path.join()` membuat program lebih mudah digunakan pada berbagai sistem operasi.
import os
jalur = "data/laporan.txt"
nama = os.path.basename(jalur)
print(nama)
Hasil:
laporan.txt
import os
jalur = "data/laporan.txt"
direktori = os.path.dirname(jalur)
print(direktori)
Hasil:
data
Dengan fungsi tersebut, sebuah jalur dapat dipisahkan menjadi bagian direktori dan nama berkas.
Contoh:
from pathlib import Path
lokasi = Path.cwd()
print(lokasi)
`Path.cwd()` digunakan untuk mendapatkan direktori kerja saat ini.
from pathlib import Path
folder = Path("data")
folder.mkdir()
Program tersebut membuat direktori bernama `data`. Pemeriksaan keberadaan direktori dapat dilakukan terlebih dahulu.
from pathlib import Path
folder = Path("data")
if not folder.exists():
folder.mkdir()
print("Selesai")
from pathlib import Path
folder = Path("proyek/data/hasil")
folder.mkdir(parents=True, exist_ok=True)
`parents=True` memungkinkan Python membuat direktori induk yang belum tersedia. `exist_ok=True` mencegah kesalahan jika direktori tersebut sudah ada.
from pathlib import Path
folder = Path("data")
for item in folder.iterdir():
print(item)
Setiap elemen yang ditemukan akan ditampilkan.
Contoh:
from pathlib import Path
folder = Path("data")
for item in folder.iterdir():
if item.is_file():
print(item, "adalah berkas")
elif item.is_dir():
print(item, "adalah direktori")
Cara tersebut membuat pemeriksaan isi direktori menjadi lebih mudah dibaca.
from pathlib import Path
folder = Path("data")
folder.rmdir()
Seperti `os.rmdir()`, metode ini hanya dapat digunakan jika direktori kosong.
from pathlib import Path
folder = Path("data")
folder.rename("data_baru")
Setelah program dijalankan, nama direktori berubah dari `data` menjadi `data_baru`.
from pathlib import Path
folder = Path(".")
for file in folder.glob("*.py"):
print(file)
Pola `*.py` berarti mencari berkas yang memiliki akhiran `.py`.
ukuran = os.path.getsize("data.txt")
print(ukuran / 1024, "KB")
Menggabungkan Jalur Direktori
Penulisan jalur secara langsung terkadang dapat menimbulkan masalah karena sistem operasi menggunakan aturan penulisan jalur yang berbeda. Python menyediakan `os.path.join()` untuk menggabungkan beberapa bagian jalur.Contoh:
import os
jalur = os.path.join("data", "hasil.txt")
print(jalur)
Hasilnya akan disesuaikan dengan sistem operasi. Pada sistem tertentu dapat menghasilkan:
data\hasil.txt
Sementara sistem lain dapat menghasilkan:
data/hasil.txt
Penggunaan `os.path.join()` membuat program lebih mudah digunakan pada berbagai sistem operasi.
Mendapatkan Nama Berkas dari Jalur
Fungsi `os.path.basename()` dapat digunakan untuk mengambil bagian nama berkas dari suatu jalur.import os
jalur = "data/laporan.txt"
nama = os.path.basename(jalur)
print(nama)
Hasil:
laporan.txt
Mendapatkan Nama Direktori dari Jalur
Fungsi `os.path.dirname()` digunakan untuk mengambil bagian direktori dari sebuah jalur.import os
jalur = "data/laporan.txt"
direktori = os.path.dirname(jalur)
print(direktori)
Hasil:
data
Dengan fungsi tersebut, sebuah jalur dapat dipisahkan menjadi bagian direktori dan nama berkas.
Menggunakan Modul pathlib
Selain `os`, Python menyediakan modul `pathlib` untuk bekerja dengan jalur, berkas, dan direktori. Modul ini menggunakan objek `Path`.Contoh:
from pathlib import Path
lokasi = Path.cwd()
print(lokasi)
`Path.cwd()` digunakan untuk mendapatkan direktori kerja saat ini.
Membuat Direktori dengan pathlib
Direktori dapat dibuat menggunakan metode `mkdir()`.from pathlib import Path
folder = Path("data")
folder.mkdir()
Program tersebut membuat direktori bernama `data`. Pemeriksaan keberadaan direktori dapat dilakukan terlebih dahulu.
from pathlib import Path
folder = Path("data")
if not folder.exists():
folder.mkdir()
print("Selesai")
Membuat Direktori Bertingkat dengan pathlib
Direktori bertingkat dapat dibuat dengan `parents=True`.from pathlib import Path
folder = Path("proyek/data/hasil")
folder.mkdir(parents=True, exist_ok=True)
`parents=True` memungkinkan Python membuat direktori induk yang belum tersedia. `exist_ok=True` mencegah kesalahan jika direktori tersebut sudah ada.
Melihat Isi Direktori dengan pathlib
Modul `pathlib` menyediakan metode `iterdir()` untuk membaca isi direktori.from pathlib import Path
folder = Path("data")
for item in folder.iterdir():
print(item)
Setiap elemen yang ditemukan akan ditampilkan.
Memeriksa Berkas dan Direktori dengan pathlib
Objek `Path` menyediakan metode `is_file()` dan `is_dir()`.Contoh:
from pathlib import Path
folder = Path("data")
for item in folder.iterdir():
if item.is_file():
print(item, "adalah berkas")
elif item.is_dir():
print(item, "adalah direktori")
Cara tersebut membuat pemeriksaan isi direktori menjadi lebih mudah dibaca.
Menghapus Direktori dengan pathlib
Direktori kosong dapat dihapus menggunakan `rmdir()`.from pathlib import Path
folder = Path("data")
folder.rmdir()
Seperti `os.rmdir()`, metode ini hanya dapat digunakan jika direktori kosong.
Mengganti Nama dengan pathlib
Nama berkas atau direktori dapat diubah menggunakan `rename()`.from pathlib import Path
folder = Path("data")
folder.rename("data_baru")
Setelah program dijalankan, nama direktori berubah dari `data` menjadi `data_baru`.
Mencari Berkas Berdasarkan Pola
`pathlib` juga menyediakan metode `glob()` untuk mencari berkas berdasarkan pola tertentu. Misalnya, untuk mencari seluruh berkas Python:from pathlib import Path
folder = Path(".")
for file in folder.glob("*.py"):
print(file)
Pola `*.py` berarti mencari berkas yang memiliki akhiran `.py`.
Contoh lain untuk mencari berkas teks:
for file in folder.glob("*.txt"):
print(file)
Cara ini berguna ketika program harus menemukan jenis berkas tertentu.
Contoh:
from pathlib import Path
folder = Path(".")
for file in folder.rglob("*.py"):
print(file)
Program tersebut mencari berkas Python pada direktori utama dan subdirektori di dalamnya.
for file in folder.glob("*.txt"):
print(file)
Cara ini berguna ketika program harus menemukan jenis berkas tertentu.
Mencari Berkas dalam Subdirektori
Metode `rglob()` dapat digunakan untuk mencari berkas sampai ke subdirektori.Contoh:
from pathlib import Path
folder = Path(".")
for file in folder.rglob("*.py"):
print(file)
Program tersebut mencari berkas Python pada direktori utama dan subdirektori di dalamnya.
Perbedaan os dan pathlib
Modul `os` dan `pathlib` sama-sama dapat digunakan untuk mengelola direktori. Beberapa operasi yang umum dapat dibandingkan sebagai berikut:| Kebutuhan | os | pathlib |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keduanya tetap berguna. Modul `os` banyak digunakan pada program Python lama maupun program yang membutuhkan fungsi sistem operasi secara luas. `pathlib` menyediakan pendekatan berbasis objek yang sering lebih mudah dibaca.
Contoh Program Menampilkan Isi Direktori
Berikut contoh program sederhana yang menampilkan semua isi direktori.import os
for item in os.listdir():
print(item)
Program tersebut sangat sederhana, tetapi dapat menjadi dasar untuk membuat aplikasi pengelola berkas.
Contoh Program Memisahkan Berkas dan Direktori
Program berikut membedakan berkas dan direktori.import os
for item in os.listdir():
if os.path.isfile(item):
print("[BERKAS]", item)
elif os.path.isdir(item):
print("[DIREKTORI]", item)
Contoh hasil:
[BERKAS] tugas.py
[BERKAS] data.txt
[DIREKTORI] gambar
[DIREKTORI] laporan
Contoh Program Menghitung Jumlah Berkas
Python dapat digunakan untuk menghitung jumlah berkas dalam sebuah direktori.import os
jumlah = 0
for item in os.listdir():
if os.path.isfile(item):
jumlah += 1
print("Jumlah berkas:", jumlah)
Program tersebut hanya menghitung berkas yang berada langsung di direktori kerja.
Contoh Program Menghitung Berkas Python
Program berikut menghitung jumlah berkas dengan ekstensi `.py`.from pathlib import Path
folder = Path(".")
jumlah = 0
for file in folder.glob("*.py"):
jumlah += 1
print("Jumlah berkas Python:", jumlah)
Program ini dapat dikembangkan menjadi alat sederhana untuk memeriksa isi sebuah folder proyek Python.
Kesalahan yang Sering Terjadi
Pengelolaan direktori dapat menghasilkan kesalahan jika kondisi tidak diperiksa terlebih dahulu.Direktori Sudah Ada
Berikut contoh dari direktori yang sudah ada.Contoh:
import os
os.mkdir("data")
os.mkdir("data")
Perintah kedua dapat menghasilkan kesalahan karena direktori `data` sudah tersedia.
Pencegahannya:
import os
if not os.path.exists("data"):
os.mkdir("data")
Direktori Tidak Ditemukan
Kesalahan juga dapat terjadi ketika program mencoba masuk ke direktori yang tidak tersedia.import os
os.chdir("folder_tidak_ada")
Sebaiknya periksa keberadaan direktori terlebih dahulu.
import os
if os.path.isdir("data"):
os.chdir("data")
else:
print("Direktori tidak ditemukan")
Menghapus Direktori yang Tidak Kosong
Kode berikut dapat menghasilkan kesalahan:import os
os.rmdir("data")
Jika `data` masih berisi berkas, direktori tersebut tidak dapat dihapus menggunakan `os.rmdir()`.
Jalur Tidak Tepat
Kesalahan penulisan jalur juga dapat menyebabkan program gagal menemukan berkas atau direktori. Penggunaan `os.path.join()` atau `pathlib` dapat membantu mengurangi masalah tersebut.Contoh Proyek Sederhana
Pemahaman mengenai direktori dapat digunakan untuk membuat program sederhana yang menampilkan struktur folder.from pathlib import Path
folder = Path(".")
print("Isi direktori:")
for item in folder.iterdir():
if item.is_file():
print("Berkas :", item.name)
elif item.is_dir():
print("Folder :", item.name)
Program tersebut membaca isi direktori saat ini dan menampilkan jenis setiap elemen.
Contoh hasil:
Isi direktori:
Berkas : program.py
Berkas : data.txt
Folder : gambar
Folder : laporan
Latihan
Beberapa latihan berikut dapat digunakan untuk memperkuat pemahaman mengenai direktori dalam Python.Latihan 1
Buat program yang menampilkan direktori kerja saat ini.Latihan 2
Buat direktori bernama `latihan`.Latihan 3
Periksa apakah direktori `latihan` sudah tersedia.Latihan 4
Tampilkan semua isi direktori saat ini.Latihan 5
Buat program yang hanya menampilkan berkas dengan ekstensi `.txt`.Latihan 6
Buat program yang menghitung jumlah direktori pada lokasi tertentu.Latihan 7
Buat program yang membedakan berkas dan direktori.Latihan 8
Buat program yang membuat struktur berikut:proyek/
├── data/
├── gambar/
└── hasil/
Latihan 9
Gunakan `pathlib` untuk mencari seluruh berkas Python pada sebuah direktori.Latihan 10
Buat program sederhana yang menampilkan nama dan jenis seluruh isi suatu folder.Kesimpulan
Direktori merupakan bagian penting dalam pemrograman karena hampir setiap program yang bekerja dengan berkas perlu mengetahui lokasi dan struktur penyimpanan data.Python menyediakan modul `os` dan `pathlib` untuk mengelola direktori. Beberapa operasi yang penting untuk dipahami antara lain mendapatkan direktori kerja dengan `os.getcwd()`, mengubah direktori dengan `os.chdir()`, membuat direktori menggunakan `os.mkdir()` atau `Path.mkdir()`, melihat isi direktori menggunakan `os.listdir()` atau `Path.iterdir()`, memeriksa berkas dan direktori, mengganti nama, serta menghapus direktori.
Modul `pathlib` juga menyediakan cara yang praktis untuk menggabungkan jalur dan mencari berkas berdasarkan pola menggunakan `glob()` dan `rglob()`.
Penguasaan operasi direktori akan menjadi dasar yang berguna untuk mempelajari pengelolaan berkas, pembacaan data, penyimpanan hasil program, pencadangan, pengolahan dokumen, hingga pembuatan aplikasi yang bekerja dengan banyak berkas.
Artikel ini akan dibaca oleh: Devandra Ferdinand Dharmansyah, Devy Setyaningrum, Diana Dwi Novianingrum, Difa Yuristika Bilqist, dan Dika Bayu Wirawan.
5 komentar untuk "Direktori dalam Python"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
Ini metode penelitian yang diperlihatkan sebagian besar masih aplikatif ya?
BalasHapusBelum ada unsur kebaruannya, sebagian besar memang masih ilmu terapan saja.
HapusPadahal jika dilihat dari sudut pandang hukum Syariah, permasalahan dibidang ekonomi itu banyak sekali potensi yang bisa digali.
BalasHapusIya, menurut saya penelitian atau skripsi dibidang ekonomi syariah itu memang masih banyak potensi permasalahan yang dapat digali lebih dalam.
HapusIya contohnya saja pada perusahaan-perusahaan yang mengkalim dirinya perusahaan berbasis syariah, ternyata sebagian masih ada yang sumber dananya dari perushaan miras, dan lain sebagainya, ini menurut saya masih bisa dilakukan penelitian secara lebih dalam baik dari sudut pandang Islam ataupun sudut pandang ekonomi syariah.
Hapus