WindowsでPython2.6のインタラクティブモードでタブ補完をしたい場合に使うバッチ
以下を「c:\Windows\System32\」へ「py.bat」として入れておけば便利。
前提としてPythonへのパスが通っていて、pyreadlineをここからダウンロードしてインストールしてあること。
あと、バッチの中で既存のPYTHONSTARTUPを置き換えてからpythonを呼び出している点も注意。
@echo off rem ************************************************************************ rem Following code is from http://d.hatena.ne.jp/ymaru/20071123/p1 set date_tmp=%date:/=% set time_tmp=%time: =0% set yyyy=%date_tmp:~0,4% set yy=%date_tmp:~2,2% set mm=%date_tmp:~4,2% set dd=%date_tmp:~6,2% set hh=%time_tmp:~0,2% set mi=%time_tmp:~3,2% set ss=%time_tmp:~6,2% set sss=%time_tmp:~9,2% set datetime=%yyyy%%mm%%dd%%hh%%mi%%ss%%sss% set time_tmp= set date_tmp= rem ************************************************************************ echo ######################################################################## echo # "[Tab] complete" needs pyreadline, because Windows doesn't include # echo # GNU readline module. If you ware not install it, here you are. # echo # # echo # https://launchpad.net/pyreadline/+download # echo # ^<pyreadline provides a readline replacement for windows.^># echo ######################################################################## echo. set ALT_PYTHONSTARTUP=%PYTHONSTARTUP% set PYTHONSTARTUP=%TMP%\tab_%datetime%.py echo import rlcompleter >> %PYTHONSTARTUP% echo rlcompleter.readline.parse_and_bind('tab: complete') >> %PYTHONSTARTUP% python del %PYTHONSTARTUP% set PYTHONSTARTUP=%ALT_PYTHONSTARTUP% set ALT_PYTHONSTARTUP= @echo on
「[winkey]+r」⇒「py」⇒「[enter]」で起動してくるので楽チンです。
※バッチの日付処理の部分に『つれづれ日記 DOSバッチで日付・時刻の取得』を使用させていただきました。ありがとうございます。