← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 35

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`.