CodeBlanks Logo Icon CodeBlanks

sys.argv

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

main.py
# sys modülünü içe aktar
# argüman varsa al, yoksa misafir kullan
# selamı yazdır

Örnek çözüm

main.py
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

Soru
import sys
name = sys.____[1]
Cevap
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

Başlangıç bölümündeki tüm dersler