Ce face sys.argv
Când rulezi python3 raport.py 2026 --detaliat, sys.argv este ['raport.py', '2026', '--detaliat']. Primul element este numele scriptului, iar restul sunt argumentele, mereu ca texte.
Pentru scripturi cu multe opțiuni, modulul argparse construiește automat mesajele de ajutor și validează valorile. sys.orig_argv conține linia de comandă completă, inclusiv opțiunile date interpretorului.
Exemple
Exemplul 1: Un script cu argumente
import sys
if len(sys.argv) < 3:
print(f"Utilizare: {sys.argv[0]} <oraș> <zile>")
sys.exit(1)
oras, zile = sys.argv[1], int(sys.argv[2])
print(f"Prognoza pentru {oras}, {zile} zile")
Rezultat (rulat cu: python3 meteo.py Iași 3)
Prognoza pentru Iași, 3 zile
Exemplul 2: Ce conține sys.argv
import sys, os
print(os.path.basename(sys.argv[0]), sys.argv[1:])
print("-I" in sys.orig_argv)
Rezultat
exemplu.py []
True
Greșeli frecvente
- Accesezi
sys.argv[1]fără să verifici lungimea și primeștiIndexErrorcând scriptul este rulat fără argumente. - Uiți că argumentele sunt texte:
sys.argv[1] + 1dăTypeError.
Comenzi înrudite
sys.exit(), exit() și quit(): Încheie programul, cu un cod de ieșire sau un mesaj de eroare.subprocess.run(): Pornește un program extern, așteaptă să se termine și îi returnează rezultatul.sys.path: Lista directoarelor în care Python caută modulele la import.