或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。最近はスロット放浪記やってます。。

IPythonでfileをopen

Pythonのデフォルトでついて来るインタラクティブシェルを使っていて常々思ったのだが、linuxのコマンドとかも使えたら、ものすごい便利だろうなと。実際、そんな上手いこと行くわけないと思っていたら同じようなこと考える人はいるし、実際に実装しちゃう人はいるんだね・・・。

IPythonで、ある程度そのようなことが出来る。bashpythonの組み合わせはけっこういいみたい。

bashpwd,ls

$pwd
/home/tom/src/test
$ls

bashでechoをリダイレクト

$echo 'Hello,World!' >> test.txt
$cat test.txt 
Hello,World!

bashでcat

$cat test.txt 
Hello,World!

ここでipythonを起動

$ipython
Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
Type "copyright", "credits" or "license" for more information.

IPython 0.13.1.rc2 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

ipythonでls

In [1]: ls
test.txt

ipythonでfileをopen

In [2]: for line in open('test.txt','r'):
   ...:     print line
   ...:     
Hello,World!

ちなみに、ファイル名は、タブで補完出来た!

ipythonで間違ってCTL+Cを押す・・・

In [3]: 
KeyboardInterrupt

ipythonでpwd

In [3]: pwd
Out[3]: u'/home/tom/src/test'

便利なもんだねぇ。もうちょっとシームレスになれば最強なんだろうけど。pythonがシェルに歩みよるか、シェルが高級言語に歩み寄るか、どっちなのかはわからんけど。