- ในไลบรารีมาตรฐานของ Python มีเครื่องมือ CLI ที่ซ่อนอยู่ซึ่งสามารถรันจากเทอร์มินัลได้
- สามารถใช้
gzip ได้ เช่น python -m gzip --decompress pypi.db.gz
- เพราะถ้าโมดูล Python มีบล็อก
if __name__ == "__main__" ก็จะสามารถรันด้วย python -m ชื่อโมดูล ได้
- ตัวอย่างบางส่วนของโมดูลที่ใช้งานแบบนี้ได้
python -m http.server 8001
python -m asyncio ทำให้ใช้ top-level await ได้ในคอนโซล Python
python -m tokenize cgi.py | head -n 10 โหมดดีบักของ Python tokenizer
python -m ast cgi.py | head -n 10 โหมดดีบัก AST
python -m json.tool ใช้ pretty print JSON ได้
python -m nntplib จะแสดงโพสต์ล่าสุดของกลุ่มข่าว gmane.comp.python.general โดยค่าเริ่มต้น (น่าเสียดายที่ใช้กับกลุ่มอื่นไม่ได้)
python -m calendar แสดงปฏิทินของปีนี้ และสามารถแสดงเป็น HTML ได้ด้วย -t html
- นอกจากนั้น ในไลบรารีมาตรฐานของ Python ยังมีเครื่องมือเล็ก ๆ เจ๋ง ๆ ซ่อนอยู่อีกมากมาย
3 ความคิดเห็น
เว็บเซิร์ฟเวอร์นี่ใช้ได้ค่อนข้างมีประโยชน์เลยครับ ที่บริษัทถ้าย้ายไฟล์ด้วย scp จะโดน throttle หนักมาก (น่าจะเพื่อความปลอดภัยนั่นแหละ;;;), การเข้าถึงผ่าน Samba ก็ช้ามากด้วย.... ตอนต้องรับไฟล์ใหญ่ ๆ ก็ใช้เว็บเซิร์ฟเวอร์ของ Python....
python -m base64:echo "test string" | python -m base64 -e | python -m base64 -dpython -m imghdr IMAGE_FILENAMEpython -m sndhdr SOUND_FILENAMEpython -m inspect PYTHON_PKGบางครั้งมันก็มีช่วงที่อยากให้มีแบบนี้อยู่เหมือนกัน
ความคิดเห็นจาก Hacker News
re.Scannerในไลบรารีมาตรฐานของ Python เป็นโทเคไนเซอร์แบบอิง regular expression ที่ตกหล่นจากเอกสารทางการif __name__ == "__main__":ทำให้สามารถรันโมดูลเป็นไฟล์ *.py เดี่ยวได้zipfileสามารถใช้แตกไฟล์และบีบอัดไฟล์ zip ได้จากบรรทัดคำสั่งjson.toolสามารถใช้แสดงผล JSON แบบอ่านง่ายได้จากบรรทัดคำสั่งhttp.serverมีประโยชน์สำหรับการแชร์ไฟล์บนเครือข่ายภายใน