Sebagai jawaban atas pertanyaan kedua Anda: Apa yang dilakukan kode ini? ...
Ini adalah kode pemeriksaan kesalahan yang cukup standar untuk skrip Python yang menerima argumen baris perintah.
Jadi, ifpernyataan pertama diterjemahkan menjadi: jika Anda belum memberikan saya argumen, saya akan memberi tahu Anda bagaimana Anda harus memberikan saya argumen di masa depan, misalnya Anda akan melihat ini di layar:
Usage: myscript.py database-name
ifPernyataan selanjutnya memeriksa untuk melihat apakah 'nama database' yang Anda berikan ke skrip benar-benar ada pada sistem file. Jika tidak, Anda akan mendapatkan pesan seperti ini:
ERROR: Database database-name was not found!
Dari dokumentasi :
argv [0] adalah nama skrip (tergantung sistem operasi apakah ini nama path lengkap atau tidak). Jika perintah dieksekusi menggunakan opsi baris perintah -c ke interpreter, argv [0] diatur ke string '-c'. Jika tidak ada nama skrip yang diteruskan ke interpreter Python, argv [0] adalah string kosong.
%operator usang dalam mendukung lebih kuatstr.formatmetode, melihat PEP-3101 .