25 puan yazan xguru 2024-06-05 | 2 yorum | WhatsApp'ta paylaş
  • Python modülleri komut satırı aracı olarak kullanılabilir
    • Örneğin webbrowser modülü komut satırından çalıştırıldığında, verilen URL’yi varsayılan web tarayıcısında açabilir
    • Python standart kütüphanesi bu tür modül-betik hibritlerinden birçok tane içerir
  • Python -m seçeneğiyle çalıştırıldığında, verilen Python modülünü bir betik gibi yürütür
    • Bazı modüller import edildiği anda belirli bir davranış sergiler; örneğin antigravity modülü XKCD çizgi romanını web tarayıcısında açar. Bunu komut satırında çalıştırmak, modülü import etmekle aynı etkiyi verir
    • Buna "import side effect" denir ve çoğu modül bundan kaçınır. antigravity gibi easter egg modülleri istisnadır
    • Import side effect’ten kaçınan modüller, modül olarak import edildiklerinde ve betik olarak çalıştırıldıklarında farklı davranmak için __name__ değişkenini kullanır

Yararlı genel amaçlı komut satırı araçları

  • python -m http.server: basit bir web sunucusu başlatır
  • python -m webbrowser: web tarayıcısını çalıştırır
  • python -m json.tool: JSON verisini güzel biçimde formatlar
  • python -m calendar: komut satırında takvim gösterir

Özellikle Windows’ta yararlı araçlar

  • python3.12 -m uuid: uuidgen CLI yardımcı programına benzer
  • python3.12 -m sqlite3: sqlite3 CLI yardımcı programına benzer
  • python -m zipfile: zip ve unzip CLI yardımcı programlarına benzer
  • python -m gzip: gzip ve gunzip CLI yardımcı programlarına benzer
  • python -m tarfile: tar CLI yardımcı programına benzer

Python koduyla çalışırken yararlı araçlar

  • python -m pip: üçüncü taraf Python paketlerini kurar
  • python -m venv: sanal ortam oluşturur
  • python -m pdb: Python hata ayıklayıcısını çalıştırır
  • python -m unittest: unittest testlerini çalıştırır
  • python -m pydoc: dokümantasyonu gösterir
  • python -m doctest: verilen dosyanın doctest’lerini çalıştırır
  • python -m ensurepip: pip kurar
  • python -m idlelib: IDLE grafik REPL’ini çalıştırır
  • python -m zipapp: Python modülünü çalıştırılabilir ZIP’e dönüştürür
  • python -m compileall: Python dosyalarını önceden bytecode’a derler

Python kod analizi araçları

  • python -m tokenize: Python modülünü token’lara ayırır
  • python -m ast: kodun soyut sözdizimi ağacını gösterir
  • python -m dis: Python kodunu bytecode’a disassemble eder
  • python -m inspect: Python nesnelerinin kaynak kodunu inceler
  • python -m pyclbr: modüldeki nesnelerin genel görünümünü gösterir

Python easter egg’i olarak çalışan eğlenceli betikler

  • python -m __hello__: "Hello world!" yazdırır
  • python -m this: Python’un Zen’ini (The Zen of Python, PEP 20) yazdırır
  • python -m antigravity: web tarayıcısında Python’la ilgili XKCD 353 numaralı çizgi romanı açar
  • python -m turtledemo: turtle modülüyle çizilebilecek çeşitli görsellerin demosunu gösterir

Diğer Python araçları

  • python -m asyncio: asyncio destekli Python REPL’ini çalıştırır
  • python -m cProfile: Python programını profiller
  • python -m pstats: cProfile ile oluşturulan profil istatistiklerini gösterir
  • python -m pickle: pickle dosyasının içeriğini gösterir (high-level)
  • python -m pickletools: pickle dosyasını ayrıştırır (low-level)

Daha az yararlı araçlar

  • python -m timeit: Python ifadelerinin çalışma süresini ölçer
  • python -m site: Python’un "site" bilgilerini gösterir
  • python -m sysconfig: Python yapılandırma ayrıntılarını gösterir
  • python -m platform: mevcut platform bilgisini gösterir
  • python -m mimetypes: dosya mimetype/uzantı bilgisini gösterir
  • python -m quopri: ham e-posta verisini kodlar/kod çözer
  • python -m filecmp: iki dizinin içeriğini karşılaştırır
  • python -m tabnanny: Python dosyalarında tab ve boşluk karışımını kontrol eder

2 yorum

 
han905 2024-06-11

Vay, düşündüğümden daha fazla iyi özellik varmış, harika.

 
dhy0613 2024-06-05

Kapalı ağ ortamındaki bir Linux sunucusuna zip dosyasını içeri alıp girmiştim ama unzip komutu yoktu, bu yüzden python -m zipfile modülüyle arşivi açıp devam ettiğimi hatırlıyorum