16 poin oleh xguru 2023-06-30 | 3 komentar | Bagikan ke WhatsApp
  • Pustaka standar Python menyertakan alat CLI tersembunyi yang bisa dijalankan di terminal
    • Misalnya, Anda bisa memanfaatkan gzip seperti python -m gzip --decompress pypi.db.gz
  • Ini dimungkinkan karena jika sebuah modul Python memiliki blok if __name__ == "__main__", modul tersebut dapat dijalankan dengan python -m nama_modul
  • Beberapa modul yang bisa dimanfaatkan dengan cara ini
    • python -m http.server 8001
    • python -m asyncio memungkinkan await tingkat atas di konsol Python
    • python -m tokenize cgi.py | head -n 10 mode debug tokenizer Python
    • python -m ast cgi.py | head -n 10 mode debug AST
    • python -m json.tool untuk pretty print JSON
    • python -m nntplib secara default menampilkan posting terbaru dari newsgroup gmane.comp.python.general (sayangnya grup lain tidak didukung)
    • python -m calendar menampilkan kalender tahun ini, dan output HTML juga bisa dibuat dengan -t html
  • Selain ini, masih banyak alat kecil keren lain yang tersembunyi di pustaka standar Python

3 komentar

 
botplaysdice 2023-06-30

Server web ini sangat berguna. Di kantor, kalau dipindahkan pakai scp kena throttling parah (sepertinya demi keamanan;;;), akses Samba juga sangat lambat.... Saat harus mengunduh file besar, pakai server web Python....

 
mckabi 2023-06-30
  • python -m base64 : echo "test string" | python -m base64 -e | python -m base64 -d
  • python -m imghdr IMAGE_FILENAME
  • python -m sndhdr SOUND_FILENAME
  • tarfile, gzip, zip
  • locale, platform, sysconfig
  • python -m inspect PYTHON_PKG

Kadang ada saat-saat ketika ini terasa berguna.

 
GN⁺ 2023-06-30
Opini Hacker News
  • Alat re.Scanner di pustaka standar Python adalah tokenizer berbasis regex yang tidak tercantum dalam dokumentasi resmi.
  • Alat ini memproses daftar token sekaligus dan menjamin kecocokan yang berurutan.
  • Menggunakan blok if __name__ == "__main__": memungkinkan modul dijalankan sebagai satu berkas *.py.
  • Python 3.12 dijadwalkan akan menyertakan SQLite CLI/REPL di pustaka standarnya.
  • Modul zipfile dapat digunakan dari baris perintah untuk mengekstrak dan membuat file zip.
  • Modul json.tool dapat digunakan untuk memformat JSON dengan rapi dari baris perintah.
  • Modul http.server berguna untuk berbagi file di jaringan lokal.
  • Menggunakan modul pustaka standar dari baris perintah dapat menimbulkan risiko keamanan.
  • Pustaka standar Python memiliki banyak alat dan fitur tersembunyi yang tidak terdokumentasi.