Python ile komut satırı araçları
Alt komutlu, yapılandırılabilir, renkli çıktılı ve doğru çıkış kodları veren, kurulabilir komut satırı araçları yazarsın.
Seviye 201 · 17 ders · 18 pratik lab
Dersler
Argümanlar ve arayüz
- İyi bir komut satırı aracının kuralları
- argparse ile alt komutlar ve gruplar
- Argüman türleri ve doğrulama
- click ile komutlar ve seçenekler
- Kısa görev: alt komutlu not alma aracı
Girdi, çıktı ve ortam
- stdin, stdout ve borularla uyumlu araç
- Çıkış kodları ve stderr
- rich ile tablo, renk ve ilerleme çubuğu
- Yapılandırma: dosya, ortam değişkeni ve bayrak sırası
- Parolayı güvenle almak: getpass ve ortam değişkeni
- Kısa görev: borudan CSV süzen araç
Dağıtım
- Giriş noktaları ve pipx ile kurulum
- Ctrl+C, sinyaller ve temiz çıkış
- Komut satırı aracını test etmek
- Kabuk tamamlama ve yardım metni
- Kısa görev: aracını sürümle ve kur
Bitirme
- Bitirme görevi: yedek alan ve doğrulayan komut satırı aracı
Pratik lablar
- Ortak seçenekli click komut grubu kurmak: Ortak --profil seçeneğini bağlam nesnesiyle alt komutlara taşıyan, ilerlemeyi rich ile gösteren grubu yaz ve CliRunner testlerini geç.
- Sayı aralığını denetleyen argüman türü: argparse için 1-100 arasını kabul eden özel bir tür fonksiyonu yaz; aralık dışı değer anlaşılır hata versin.
- Envanter aracına alt komutlar eklemek: add, remove ve list alt komutlarını argparse ile tanımla; her biri kendi yardım metnine ve zorunlu argümanlarına sahip olsun.
- argparse aracını click'e taşımak: Küçük bir dosya yeniden adlandırma aracını click komut ve seçeneklerine taşı; davranış testleri aynı kalsın.
- Çelişen seçenekleri engellemek: --json ile --table ve --quiet ile --verbose birlikte verilemesin; kuralları argparse grupları ve doğrulamayla uygula.
- Dosyadan ya da borudan okumak: Dosya adı verilmezse stdin'den okuyan ve satırları büyük harfe çevirip stdout'a yazan aracı tamamla.
- Hataları stderr'e ve doğru çıkış koduna bağlamak: Her şeyi stdout'a yazıp hep 0 dönen aracı düzelt; kullanım hatası 2, çalışma hatası 1 dönsün ve mesajlar stderr'e gitsin.
- head ile kesilen boruda temiz çıkmak: Çıktısı head'e verildiğinde BrokenPipeError izi basan aracı sessiz ve doğru çıkış koduyla sonlanacak şekilde düzelt.
- Sonuçları rich tablosuyla göstermek: Disk raporunu rich tablosu ve ilerleme çubuğuyla göster; çıktı boruya gidiyorsa renksiz düz metne dön.
- Bayrak, ortam ve dosya önceliğini uygulamak: Aynı ayar üç yerden geldiğinde bayrak, sonra ortam değişkeni, sonra dosya kazanacak şekilde çözümleyiciyi yaz.
- Parolayı komut satırından uzak tutmak: --password seçeneğini kaldırıp parolayı önce ortam değişkeninden, yoksa getpass ile soran güvenli akışı yaz.
- Gizli değerlerin çıktıya sızmasını engellemek: Ayar dökümü ve hata mesajlarında anahtarı açık yazan aracı gizli alanları maskeleyecek şekilde düzelt ve testle kanıtla.
- Ctrl+C ile geçici dosyaları temizlemek: Uzun süren dışa aktarma Ctrl+C ile kesilince geçici dosyayı silip 130 koduyla çıkan işleyiciyi ekle.
- Komut satırı aracını capsys ile sınamak: main(argv) fonksiyonunu doğrudan çağırıp capsys ile stdout ve stderr'i ayrı ayrı, SystemExit ile çıkış kodunu denetleyen testler yaz; başarı, hatalı argüman ve eksik dosya durumlarını parametrelerle kapsa.
- Aracı giriş noktası ve sürümle paketlemek: Betiği pyproject.toml ile kurulabilir pakete çevir; komut adı çalışsın ve --version paket sürümünü tek kaynaktan okusun.
- SIGTERM gelince işi düzgün bitirmek: Uzun süren dışa aktarma aracına SIGTERM işleyicisi ekle; elindeki kaydı yazıp dosyayı kapatsın, kaldığı yeri not etsin ve 143 koduyla çıksın.
- Aracı python -m ile çalışır yapmak: Pakete bir __main__.py ekleyerek aracın python -m paket_adı biçiminde çalışmasını sağla; argümanlar main fonksiyonuna aynen iletilsin.
- Aracı temiz bir ortama kurup denemek: Araçtan bir wheel üret, boş bir sanal ortama kur ve komutun çalıştığını doğrula; eksik bildirilen bağımlılığı bulup proje dosyasına ekle.
Kurs hakkında
Alt komutlu, yapılandırılabilir, renkli çıktılı ve doğru çıkış kodları veren, kurulabilir komut satırı araçları yazarsın.
Ne öğreneceksin
- Argümanlar ve arayüz
- Girdi, çıktı ve ortam
- Dağıtım
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.