CLI arguments dengan argparse
Baca argumen dan flags dari baris perintah.
Pahami konsepnya
sys.argv adalah cara mentah: list berisi seluruh argumen — indeks 0 nama skrip, sisanya apa pun yang diketik. Cukup untuk kasus sederhana, tapi parsing opsi --nama nilai manual rawan salah.
argparse memberikan parsing raya: deklarasikan tiap opsi dengan add_argument, panggil parse_args(), akses lewat args.nama. Flag Boolean cukup --verbose saja; bernilai --port 8080. Sisa argumen non-flag di args.Args. --help otomatis terpasang beserta deskripsi dari help parameter.
argparse juga mendukung tipe (type=int), nilai bawaan (default), pilihan terbatas (choices), dan required=True. Satu parser menutup seluruh kebutuhan CLI modern tanpa pustaka luar.
Coba contoh kode
import argparse
parser = argparse.ArgumentParser(description="Kalkulator diskon")
parser.add_argument("harga", type=int, help="harga asli")
parser.add_argument("--diskon", type=int, default=10, help="persen diskon")
parser.add_argument("--verbose", action="store_true", help="tampilkan detail")
args = parser.parse_args()
hasil = args.harga - (args.harga * args.diskon // 100)
if args.verbose:
print(f"Harga: {args.harga}, diskon {args.diskon}%")
print(f"Bayar: {hasil}")Dengan perintah python main.py 100000 --diskon 20: harga=100000 (posisional), diskon=20 (flag bernilai), verbose=False. Coba --help untuk melihat dokumentasi otomatis dari help parameter.
Latihan singkat
Uji: argparse default harga=100, diskon=10% — tanpa argumen harus `90`.