Python標準ライブラリに隠れたCLIツールたち
(til.simonwillison.net)- Python標準ライブラリには、ターミナルで実行できる隠れたCLIツールが含まれている
python -m gzip --decompress pypi.db.gzのようにgzipを活用できる
- Pythonモジュールに
if __name__ == "__main__"ブロックがあれば、python -m モジュール名で実行できるため - このように活用できるモジュールの一部
python -m http.server 8001python -m asyncioPythonコンソールでトップレベルのawaitが可能になるpython -m tokenize cgi.py | head -n 10Pythonトークナイザーのデバッグモードpython -m ast cgi.py | head -n 10ASTデバッグモードpython -m json.toolJSONの整形出力が可能python -m nntplibデフォルトでgmane.comp.python.generalニュースグループの最新投稿を表示する(残念ながら他のグループは不可)python -m calendar今年のカレンダーを出力し、-t htmlでHTML出力も可能
- Python標準ライブラリには、このほかにも多くの便利な小さなツールが隠れている
3件のコメント
Webサーバーはかなり重宝しています。会社で
scpで移すと強めにスロットリングがかかって(セキュリティのためだとは思いますが;;;)、Samba アクセスもものすごく遅いので……大きなファイルを受け取るときは Python のWebサーバーで……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ツールは、公式ドキュメントに記載されていない正規表現ベースのトークナイザーです。if __name__ == "__main__":ブロックを使うと、モジュールを単一の*.pyファイルとして実行できます。zipfileモジュールは、コマンドラインでzipファイルを展開したり圧縮したりするために使えます。json.toolモジュールは、コマンドラインでJSONを整形して表示するために使えます。http.serverモジュールは、ローカルネットワークでファイルを共有するのに役立ちます。