Menguasai Operasi Direktori dan File di Python
Manajemen Direktori dan File Python
Temukan cara membuat, menavigasi, mencantumkan, mengganti nama, dan menghapus direktori serta file di Python dengan contoh praktis yang jelas.
Video: Python os Module
Direktori Python
Saat proyek Anda berkembang, mengorganisir kode ke dalam folder yang terstruktur dengan baik menjadi penting. Sebuah direktori—atau folder—adalah wadah untuk file dan sub-direktori, dan modul os Python menyediakan alat yang kuat untuk mengelola mereka.
Mendapatkan Direktori Saat Ini
Gunakan os.getcwd() untuk mengambil direktori kerja saat ini sebagai string. Jika Anda perlu representasi bytes, os.getcwdb() akan melakukannya.
import os
os.getcwd() # 'C:\\Program Files\\PyScripter'
os.getcwdb() # b'C:\\Program Files\\PyScripter'
Double backslash menunjukkan escape sequence. Menggunakan print() merender path dengan benar:
print(os.getcwd()) # C:\Program Files\PyScripter
Mengganti Direktori
Beralih direktori kerja saat ini dengan os.chdir(path). Argumen path dapat menggunakan garis miring ke depan atau garis miring terbalik; ingatlah untuk me-escape garis miring terbalik atau menggunakan raw string.
os.chdir('C:\\Python33')
print(os.getcwd()) # C:\Python33
Mencantumkan Direktori dan File
Ambil setiap file dan sub-direktori dalam folder target dengan os.listdir(path). Jika path diabaikan, fungsi beroperasi pada direktori kerja saat ini.
print(os.getcwd()) # C:\Python33
os.listdir() # ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools']
os.listdir('G:\\') # ['$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information']
Membuat Direktori Baru
Buat folder dengan os.mkdir(path). Jika path bersifat relatif, direktori baru muncul di direktori kerja saat ini.
os.mkdir('test')
print(os.listdir()) # ['test']
Mengganti Nama Direktori atau File
Fungsi yang sama os.rename(src, dst) menangani baik file maupun folder. Berikan nama lama sebagai src dan nama baru yang diinginkan sebagai dst:
os.listdir() # ['test']
os.rename('test', 'new_one')
print(os.listdir()) # ['new_one']
Menghapus Direktori atau File
Hapus file dengan os.remove(path). Untuk menghapus folder kosong, gunakan os.rmdir(path):
os.listdir() # ['new_one', 'old.txt']
os.remove('old.txt')
print(os.listdir()) # ['new_one']
os.rmdir('new_one')
print(os.listdir()) # []
Catatan: os.rmdir() hanya bekerja pada direktori kosong.
Jika Anda perlu menghapus folder yang berisi file atau sub-folder, fungsi shutil.rmtree() dari modul shutil adalah jalan yang tepat:
os.listdir() # ['test']
os.rmdir('test') # Traceback (most recent call last):
# ...
# OSError: [WinError 145] The directory is not empty: 'test'
import shutil
shutil.rmtree('test')
print(os.listdir()) # []