×

Manajemen File menggunakan Python

Manajemen File menggunakan Python

4,721 Views

Manajemen File menggunakan Python sangat penting untuk memudahkan kita dalam melakukan otomatisasi file seperti pengecekan direktori kerja, membuat direktori/folder, cek keberadaan file. Bahkan saya sering menggunakan python untuk melakukan tersebut jauh lebih baik daripada menggunakan file explorer bawaan windows, pernah suatu kali saya menghapus ratusan ribu file lebih cepat menggunakan python lho! hal ini dikarenakan bila menggunakan file explorer diperlukan mekanisme recycle bin jadi agak lama prosesnya. OK langsung saja, saya akan bahas beberapa perintah manajemen file menggunakan Python yang sering digunakan dalam kegiatan sehari-hari.

1.  Mengetahui direktori aktif

Perintah ini seringkali saya gunakan untuk mengecek posisi work directory yang sedang saya gunakan. Kita tidak perlu install library pihak ketiga untuk manajemen file menggunakan python, namun cukup dengan import os saja seperti berikut

import os
print(os.getcwd())

hasilnya, posisi diatas ada di D:/

2. Mengubah direktori aktif

Kita juga bisa mengubah direktori kerja menggunakan perintah

os.chdir("E:/")

Tapi apa yang terjadi ketika melakukan change directory tapi direktori tersebut tidak ada! Misalkan os.chdir(“P:/”)

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'P:/'

 

3. Cek Keberadaan file dan folder

Nggak ingin kecewa bukan? kalau-kalau file / folder tidak ada! maka kalian bisa melakukan cek exists terlebih dahulu, misalkan saya akan cek sebuah folder/direktori di D:/

ada = os.path.exists('D:/ini folder')
print(ada)

akan menghasilkan True bila ada, kalau untuk cek file juga sama perintahnya koq

ada = os.path.exists("D:/latihan1.py")
print(ada)

4. Join Separator

Kalian pernah menggunakan sistem operasi selain windows? seperti linux. Perbedaan jelas yaitu pada operator pemisahan path yaitu menggunakan tanda / sedangkan windows menggunakan \

See also  Mengoptimalkan API dengan service streamer

Perhatikan lokasi path berikut (menggunakan windows),

D:/latihan1.py

Hal diatas sebenarnya kurang direkomendasikan, sebaiknya menggunakan perintah

os.path.join('D:', 'latihan1.py')

atau lebih lengkapnya seperti berikut untuk cek keberadaan file

path = os.path.join('D:', 'latihan1.py')
ada = os.path.exists(path)
print(ada)

5. Buat direktori atau folder

Untuk membuat direktori,  caranya sangat mudah, cukup dengan perintah berikut

os.mkdir("D:/test_dir")

Namun perintah diatas harus dilakukan hati-hati karena bisa saja terjadi konflik dimana folder tersebut sudah ada sebelumnya, oleh hal tersebut sebaiknya dicek dulu menggunakan perintah exist

if not os.path.exists("D:/test_dir"):
    os.mkdir("D:/test_dir")

6. Membuat folder didalam folder

Misalkan kita akan membuat folder didalam sebuah folder dan begitu seterusnya, maka perintah yang digunakan seperti berikut

os.makedirs(os.path.join('test_dir', 'level_1', 'level_2', 'level_3'))

 

7. Mengetahui isi directori

Untuk mengetahui isi direktori ada 2 cara yang bisa kita gunakan yaitu

os.listdir("sample_data/*.csv")

atau menggunakan library blob

from glob import glob

list(glob(os.path.join('sample_data', '*.csv')))

Perbedaan diantar keduanya adalah ketika menggunakan cara pertama, hanya akan mengembalikan file *.csv tanpa ada alamat lengkap pathnya sedangkan untuk cara kedua akan mengembalikan detail alamat lengkap.

8. Pindah / cut file

Untuk memindahkan file, kita menggunakan library shutil

import shutilfor file in list(glob(os.path.join('sample_data', '*.csv'))):
    shutil.move(file, 'test_dir')

9. Copy File

Seperti cut file, maka untuk melakukan copy, gunakan saja library shutil, Misalkan seperti berikut untuk mengcopy file README.md

shutil.copy(
   os.path.join('sample_data','README.md'),
   os.path.join('test_dir')

)

10. Hapus File dan Folder/Directori

Untuk menghapus file dan direktori berbeda caranya lho. Misalkan untuk hapus file tertentu, gunakan perintah berikut

os.remove(os.path.join('test_dir', 'README.md'))

Sedangkan untuk delete/hapus folder maka harus kosong terlebih dahulu isi folder tersebut

os.rmdir(os.path.join('test_dir', 'level_1', 'level_2', 'level_3'))

Namun bila ingin hapus segala file didalam sebuah folder, kalian bisa gunakan perintah berikut

shutil.rmtree(os.path.join('test_dir', 'level_1'))

maka secara otomatis folder level_2 dan level_3 akan terhapus

See also  Menjadikan Python lebih cepat

ref: https://towardsdatascience.com/8-must-know-file-system-operations-in-python-7dc185daeccd

You May Have Missed