argparse ile Komut Satırı Uygulaması Geliştirme
argparse, Python'da komut satırı araçları yapmak için kullanılan standart bir modüldür. Kullanıcıdan argüman almayı, bunları doğrulamayı ve otomatik yardım metni göstermeyi sağlar.
Bir CLI uygulaması yazarken üç adım vardır:
1. ArgumentParser nesnesi oluştur
2. Argümanları tanımla (opsiyonel, zorunlu)
3. Kullanıcı girdisini parse et ve işle
Örneğin, bir dosya işleme aracı düşün. Kullanıcı komut satırında dosya adı, işlem türü ve seçenekleri geçecek. argparse bu girdileri organize eder.
Bu araç, bir metin dosyasını alıp kelime sayısı, karakter sayısı ve satır sayısını gösterecek.
1import argparse23def analyze_text(filename, show_words=False, show_chars=False):4try:5with open(filename, 'r', encoding='utf-8') as f:6content = f.read()78lines = len(content.split('\n'))9words = len(content.split())10chars = len(content)1112print(f"Dosya: {filename}")13print(f"Satır sayısı: {lines}")1415if show_words:16print(f"Kelime sayısı: {words}")17if show_chars:18print(f"Karakter sayısı: {chars}")1920except FileNotFoundError:21print(f"Hata: '{filename}' dosyası bulunamadı.")2223if __name__ == "__main__":24parser = argparse.ArgumentParser(25description="Metin dosyasını analiz eder ve istatistik gösterir."26)2728parser.add_argument(29'dosya',30help="Analiz edilecek metin dosyasının adı"31)32parser.add_argument(33'-w', '--kelimeler',34action='store_true',35help="Kelime sayısını göster"36)37parser.add_argument(38'-c', '--karakterler',39action='store_true',40help="Karakter sayısını göster"41)4243args = parser.parse_args()44analyze_text(args.dosya, args.kelimeler, args.karakterler)Önce bir test dosyası oluştur:
1echo "Merhaba dünya. Bu bir test dosyasıdır." > test.txtSonra aracı çalıştır:
1python analiz.py test.txtÇıktı:
```
Dosya: test.txt
Satır sayısı: 1
```
Seçeneklerle:
1python analiz.py test.txt -w -cÇıktı:
```
Dosya: test.txt
Satır sayısı: 1
Kelime sayısı: 8
Karakter sayısı: 42
```
Yardım görmek için:
1python analiz.py -h`add_argument()` ile argüman eklerken, pozisyonel argümanlar (dosya adı gibi) zorunludur. Çizgi ile başlayanlar (-w, --kelimeler) opsiyoneldir. `action='store_true'` kullanıldığında, bayrak belirtilirse True değer alır. `help` parametresi otomatik yardım metnini oluşturur.
argparse, geçersiz argüman verildiğinde hata mesajı gösterir ve programı durdurur. Bu, kullanıcı hatasını kontrol etmeyi kolaylaştırır.
0 yorum