Tutorial Python: Membaca dan Membuat List File

Beberapa hari yang lalu, tepatnya sepekan belakangan ini saya sibuk pilih-pilih foto nikahan bareng istri untuk keperluan dicetak dan dialbumkan. FYI, saya baru aja nikah akhir April kemaren.

via GIPHY

Dari 1.172 foto yang kami dapat, si fotografer meminta kami memilih 240 foto untuk dicetak. Bukan pekerjaan gampang, makanya ngambil waktu semingguan lebih, bahkan sebelum ditinggal istri untuk keperluan kantornya, kami baru bisa memilih sampai 300 besar. Artinya tugas saya mengurangi 60 foto lagi dan ternyata bisa dalam sehari, meskipun cukup sulit memilih yang terbaik dari yang terbaik :)

Masalah selanjutnya adalah bagaimana saya membuat daftar 240 nama fail foto terpilih itu untuk kami kirimkan ke si tukang cetak foto. Awalnya ada ide untuk di-screen-capture, tapi gak jadi karena pertimbangan efektifitas dan kerempongan si pencetak nantinya, karena ternyata Ubuntu tidak belum sebaik Jendela untuk GUI manajemen failnya. Apalagi 240 fail ini tersebar di tiga folder berbeda, ada dokumentasi saat pengajian, akad, dan resepsi.

membaca isi folder dengan python

src: medium.com

Lalu solusinya adalah dengan meng-automatisasi menggunakan script Python. Kenapa pake bahasa pemrograman Python? simple, biar kelihatan keren dan gak ketinggalan zaman aja sebagai sofwer enjiner milenial. Dengan keterbatasan jam terbang menggunakan Python yang bisa saya tutupi dengan pengalaman saya berinteraksi dengan stackoverflow — situs kesayangan para programer — akhirnya jadilah script untuk membaca isi folder dengan python berikut sekaligus menyimpan nama-nama failnya ke dalam fail txt.

Script saya tempatkan di dalam folder ALBUM, sejajar dengan tiga folder yang berisi foto-foto terpilih tadi. Jadinya tree folder ALBUM saya jadi begini:

Nantinya, list nama-nama fail foto yang terpilih tersebut akan dikumpulkan dalam satu fail txt yang nama failnya saya definisikan di dalam script tadi; selectedforalbum.txt.

Secara logikal, cara kerja script tadi adalah membaca folder-folder apa saja yang ada di root direktori (dir ALBUM) kemudian setiap folder akan dibaca nama-nama fail yang ada didalamnya. Pada proses pembacaan fail ini saya tambahkan logic untuk memvalidasi sehingga nama fail yang masuk ke dalam daftar nanati hanyalah fail gambar, cara yang paling mudah adalah dengan memeriksa ekstensinya. Setelah semua nama fail di gabungkan dan di assign ke variabel string mylist, kemudian di tambahkan kedalam fail txt yang sudah di-define sebelumnya.

Tambahan, berikut cara menjalankan scriptnya.

Karena saya menulis scriptnya menggunakan Python 3, maka sewaktu saya mengeksekusi script tadi muncul error

Jadi, cara yang tepat untuk mengeksekusi scriptnya adalah

Kalau gak mau ribeh dan terganggu dengan angka 3 di command-line nya, pakaikan alisa saja (saya pake Ubuntu) :) agar ketika ketika mengeksuki tidak perlu lagi angka 3 setelah command python.

Begitulah, problem pertama rumah tangga kami berhasil kami selesaikan dengan beberapa baris script Python. :)

Hai, would be nice if you leave a reply. :D