- 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
Vay, düşündüğümden daha fazla iyi özellik varmış, harika.
Kapalı ağ ortamındaki bir Linux sunucusuna zip dosyasını içeri alıp girmiştim ama
unzipkomutu yoktu, bu yüzdenpython -m zipfilemodülüyle arşivi açıp devam ettiğimi hatırlıyorum