sys.argv
- Python kursu
- Başlangıç
- Ders 98/116
- 4 dk
sys.argv ile komut satırı argümanlarını öğrenirsin.
sys.argv
sys.argv, komut satırından gelen argümanları tutan bir listedir. sys modülünü içe aktararak kullanılır:
import sys
print(sys.argv)
# python betik.py Ayşe 25
# ["betik.py", "Ayşe", "25"]sys.argv[0] her zaman betik adıdır. Gerçek argümanlar sys.argv[1]'den başlar. Her argüman bir dizedir — sayı bekliyorsan dönüştür.
Betik başlatılırken verilen parametreleri okumanın yoludur.
argv ve IndexError
Eğer kullanıcı yeterince argüman vermezse sys.argv[1] erişimi IndexError fırlatır. Bu yüzden önce listede yeterli eleman olduğunu denetlemek gerekir:
import sys
if len(sys.argv) > 1:
name = sys.argv[1]
else:
name = "misafir"
print(name)Bu desen — önce uzunluk denetimi, sonra erişim — IndexError'dan korunur. Varsayılan bir değer atamak betiğin sağlam çalışmasını sağlar.
Komut satırı betiklerinde bu denetim standarttır.
Uygulama sys.argv ile selam ver
import sys yaz. name değişkenine sys.argv[1] if len(sys.argv) > 1 else "misafir" ata. Sonra print("Merhaba, " + name) yaz. Betik argümansız çalışıyor.
Başlangıç kodu
# sys modülünü içe aktar
# argüman varsa al, yoksa misafir kullan
# selamı yazdırÖrnek çözüm
import sys
name = sys.argv[1] if len(sys.argv) > 1 else "misafir"
print("Merhaba, " + name)Beklenen çıktı
Merhaba, misafir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 sys.argv erişimini tamamla
import sys
name = sys.____[1]
import sys
name = sys.argv[1]
Açıklama: sys.argv[1] ilk gerçek argümandır.
2 sys.argv[0] ne içerir?
- Boş dize
- İlk argüman
- Argüman sayısı
- Betik adı Doğru cevap
Açıklama: sys.argv[0] her zaman çalıştırılan betiğin adıdır.
3 sys.argv kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
sys.argv[0] |
Betik adı |
sys.argv[1] |
İlk argüman |
len(sys.argv) |
Argüman sayısı |
import sys |
Gerekli içe aktarım |