เครื่องมือ CLI ที่ซ่อนอยู่ในไลบรารีมาตรฐานของ Python
(til.simonwillison.net)- ในไลบรารีมาตรฐานของ Python มีเครื่องมือ CLI ที่ซ่อนอยู่ซึ่งสามารถรันจากเทอร์มินัลได้
- สามารถใช้
gzipได้ เช่นpython -m gzip --decompress pypi.db.gz
- สามารถใช้
- เพราะถ้าโมดูล Python มีบล็อก
if __name__ == "__main__"ก็จะสามารถรันด้วยpython -m ชื่อโมดูลได้ - ตัวอย่างบางส่วนของโมดูลที่ใช้งานแบบนี้ได้
python -m http.server 8001python -m asyncioทำให้ใช้ top-levelawaitได้ในคอนโซล Pythonpython -m tokenize cgi.py | head -n 10โหมดดีบักของ Python tokenizerpython -m ast cgi.py | head -n 10โหมดดีบัก ASTpython -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มีประโยชน์สำหรับการแชร์ไฟล์บนเครือข่ายภายใน