Materi
Skrip yang dipakai berulang dengan masukan berbeda, misalnya berkas bulan ini dan batas stok minggu ini, lebih praktis dijalankan dari terminal dengan argumen: python rekap.py stok.csv --batas 10. Python menyimpan kata-kata itu di sys.argv sebagai list teks, ['rekap.py', 'stok.csv', '--batas', '10']. Modul argparse mengurai list itu menjadi objek berisi nilai yang sudah bertipe benar, memeriksa argumen wajib, dan membuat pesan bantuan -h secara otomatis.
import argparse
def buat_parser():
parser = argparse.ArgumentParser(description="Rekap stok gudang")
parser.add_argument("berkas")
parser.add_argument("--batas", type=int, default=20)
parser.add_argument("--rinci", action="store_true")
return parser
args = buat_parser().parse_args(["stok.csv", "--batas", "5"])
print(args.berkas, args.batas, args.rinci) # stok.csv 5 FalseArgumen tanpa tanda hubung, seperti berkas, adalah argumen posisi yang wajib diisi. Argumen berawalan --, seperti --batas, opsional; nilainya None bila tidak ditulis, kecuali diberi default. type=int mengubah teksnya menjadi bilangan, choices membatasi nilai yang diterima, dan action="store_true" membuat penanda yang bernilai True hanya bila ditulis.
parse_args() tanpa argumen membaca sys.argv. Di browser tidak ada terminal, jadi latihan memberi list sendiri, seperti contoh di dokumentasi argparse. Di skrip sungguhan, pemanggilan parser diletakkan di dalam blok if __name__ == "__main__" supaya modulnya tetap bisa diimpor tanpa membaca argumen.