ASPN : Python Cookbook : Unix rename (mv) front-end with GNU Readline

対話的なmvコマンド。元のファイルだけ引数として渡すと、バッファ上で第2引数を編集して実行できる。
べつに便利そうじゃないが・・・。

調べたこと

  • readlineモジュール
    • rlcompleterモジュール
  • shutilモジュール

readlineモジュール

コマンドライン表示をいじってインタラクティブな操作を実現したりできる。
同じく標準ライブラリのrlcompleterモジュールを一緒に使うと、インタラクティブシェルでメソッド名などの補完ができるようになる。

>>> import rlcompleter
>>> import readline
>>> readline.parse_and_bind("tab: complete")

としておけば、

>>> readline. <TAB PRESSED>
readline.__doc__          readline.get_line_buffer  readline.read_init_file
readline.__file__         readline.insert_text      readline.set_completer
readline.__name__         readline.parse_and_bind

のようにできる。

環境変数PYTHONSTARTUPに定義されたファイルに書いておけば毎回勝手に読み込まれていい感じ。
こいつらはUnix用のモジュール。WindowsのPython2.5ではreadlineモジュールが存在しなかった。rlcompleterはなぜかインポートだけできた。

shutilモジュール

ファイルの移動とか、ディレクトリ全体のコピーや削除に使う。

その他

main関数にdocstringを入れておいて、

help(main)

で簡単にヘルプ文書の表示。