はじめに
Pythonは-m
オプションを付けてpython
を実行するとモジュールを実行してくれます。
このオプションは$PYHTONPATH
で設定されているモジュールの配置場所や、
設定ファイルなどで設定されているsys.path
の場所にあるモジュールを実行できます。
Pythonをインストールすると一緒に導入される標準モジュールの中にも、コマンドラインからの実行できるものが存在します。
今回はその中でも明日からでも使えるモジュールを紹介します。
1. SimpleHTTPServer
HTTPサーバを立てる。
カレントディレクトリをHTTPで公開します。
引数なしでは8000番ポートで、引数にポート番号を与えることもできます。
ファイル共有などに簡単に使えるかもしれません。
また、index.htmlを作ることで読み込んでくれるようです。
これが便利すぎて今回の記事を作ったと言っても過言ではないです。
2. CGIHTTPServer
CGIが実行できるHTTPServerを立てる。
CGI実行機能以外はSimpleHTTPServerと同じです。
3. smtpd
SMTPサーバを立てる。
メール送信テストなどに使えそうですかね。
sudo
をつけないといけない点に注意です。
4. smtplib
localhostにメールを送信する。
From,To,messageを順番に入力して最後にEOFを入力して送信。
大体の環境ではEOFはCtrl+Dです。
smtpdと一緒に使うことになるかと思います。
5. zipfile
zipファイルを展開、圧縮する。
ヘルプも出るのでわかりやすくて使いやすい!
ヘルプの通り、-l
でリスト、-t
でテスト、-e
で展開、-c
で圧縮です。
6. gzip
gzipファイルを展開、圧縮する。
- 圧縮
- 展開
zipfileと違い、gzipにはヘルプはないです。
少し、使いづらいですね…
7. base64
base64エンコード、デコードして表示する。
ファイルを引数に取ります。
echoにパイプで使うことで任意の文字列をエンコード、デコードもできます。
デコードはオプション-d
です。
8. json.tool
jsonを整形して表示する。
jsonファイルを整形します。
echoにパイプで使うこともできます。
9. xmllib
xmlを解析する。
こちらもファイルを引数に取り、解析します。
10. platform
OS情報を表示する。
意外と便利かもしれないですね。
11. locale
ロケール情報を表示する。
詳しいロケール情報が出てきます。
すごく長いです、普通にlocaleコマンドのほうが読みやすいかも…
12. telnetlib
telnetクライアントとして使える。
- スターウォーズ・エピソード4が流れる
- 囲碁ができる
- チェスができる
13. this
The Zen of Python(Pythonの禅)を見ることができる。
Pythonのイースターエッグだそうです。
中身は公式ドキュメントのPEP20にも載っています。
Pythonでコードを書く際の原則をまとめたものです。
Pythonインタプリタからimport this
でも見ることができます。
おまけ
面白いコマンドを探していた所、slコマンドというものを見つけました。
昔から存在している有名なもののようですね。
ls
を打ち間違えることから作られたようです。
OSに依りますが、Ubuntuでは以下のコマンドでインストールできます。
インストール後、sl
を打つことでSLが走り抜けていきます。
オプションとしてlsでよく使われる-l
、-a
、-F
があります。
SLが小さくなったり、乗客が助けを求めていたり、空を飛んでいったりします。
おわりに
Pythonは結構使っているんですが、コマンドラインから使える標準モジュールがあるとは知りませんでした。
特にSimpleHTTPServerとzipfileの2つはとても使いやすそうなので使っていきたいと思います。
telnetで見られるスターウォーズはすごいですね…
AA職人の熱意を感じます。