7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Python

Bagaimana Membuat Perubahan Pada Banyak File Menggunakan Python

Scroll to top
Read Time: 3 mins

Indonesian (Bahasa Indonesia) translation by Yosef Andreas (you can also view the original English article)

Katakanlah bahwa seseorang yang familiar dengan pengejaan British dan telah memutuskan untuk menyelesaikan kuliahnya di US. Dia diminta untuk menuliskan sebuah paper tentang Python untuk kelasnya. Dia sangat fasih dalam Python dan tidak memiliki permasalahan dalam menuliskan paper. Dia sedang berbicara tentang sebuah bagian dalam papernya dan menuliskan lebih dari sekali kata grey (pengejaan British) bukannya gray (pengejaan US), dengan tambahan ke neighbourhood (pengejaan British) bukannya neighborhood (pengejaan US). Namun dia sekarang berada di US dan harus menelusuri semua kata-kata dalam ejaan British dan menggantinya dengan ejaan US.

Ini merupakan salah satu dari banyak skenario dimana kita perlu mengubah beberapa ejaan atau kesalahan dalam berbagai lokasi.

Dalam tip singkat ini, saya akan menunjukkan sebuah contoh dimana kita memiliki lima file teks yang salah mengeja nama saya. Yaitu, bukannya menulis Abder, yang tertulis adalah Adber. Contoh ini akan menunjukkanmu bagaimana kita dapat menggunakan Python untuk memperbaiki pengejaan nama saya dalam semua file teks yang berada dalam sebuah direktori.

Mari kita mulai!

Persiapan Data

Sebelum kita melaju dengan contoh, mari persiapkan data (file teks) yang ingin kita kerjakan. Silahkan dan download direktori dengan filenya. Unzip direktori dan kamu sekarang sudah siap.

Seperti yang dapat kamu lihat, kita mempunyai sebuah direktori bernama Abder yang berisi lima file berbeda bernama 1,2,3,4, dan 5.

Penerapan

Mari mulai bagian menyenangkannya. Hal pertama yang perlu kita lakukan adalah membaca konten direktori Abder. Untuk ini, kita dapat menggunakan method listdir(), sebagai berikut:

Jika kita mencoba untuk melihat apa yang ada di dalam direktori, kita dapat melakukan di bawah ini:

Dalam kasus ini, kita akan mendapatkan:

Ini menunjukkan bahwa kita memiliki lima file rft di dalam direktori.

Untuk memastikan kita berkerja dengan direktori terkini (direktori yang dipilih), kita dapat menggunakan chdir sebagai berikut:

Hal berikutnya yang perlu kita lakukan adalah melakukan loop melalui semua file di dalam direktori Abder. Kita dapat menggunakan for-loop sebagai berikut:

Karena kita ingin melihat dalam tiap lima file di dalam direktori dan mencari Abder, hal normal untuk dilakukan pada tahapan ini adalah membuka dan membaca konten untuk tiap file:

Sekarang adalah tahapan vitalnya, khususnya ketika berbicara tentang pencocokan pola, dalam kasus kita, pencarian Adber. Langkah ini adalah penggunaan regular expression. Dalam Python, untuk menggunakan regular expression, kita akan menggunakan module re.

Kita akan menggunakan dua function utama dari module ini. Yang pertama adalah compile():

Menyusun sebuah pola regular expression ke dalam sebuah obyek regular expression, yang dapat digunakan untuk mencocokkan method match() dan search().

Dan yang kedua adalah sub(), untuk menggantikan pengejaan yang salah dengan yang benar. Oleh karena itu kita akan melakukan di bawah ini:

Terakhir, kita ingin menuliskan teks baru setelah penggantian pada file kita, sebagai berikut:

Meletakkan Semuanya Bersama-sama

Dalam section ini, mari lihat bagaimana tampilan keseluruhan script Python, yang akan mencari Adber di dalam tiap file dan menggantinya dengan Abder:

Seperti yang dapat kita lihat, Python membuatnya sangat mudah untuk menjalankan modifikasi sepanjang berbagai file menggunakan for-loop. Bagian penting lainnya untuk diingat di sini adalah penggunaan regular expression untuk pencocokan pola.

Jika kamu ingin mengetahui lebih lanjut tentang loop pada Python, periksa Penyegaran Halus Tentang Loop Pada Python. Dan untuk informasi lebih lanjut tentang regular expression, periksa Regular Expression Dalam Python.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.