Archive for 9月, 2009

Pythonで、ファイルを実行してからPythonシェルで対話したい

デバッグしたい時など、Pythonのプログラムを一通り実行してからPythonシェルで対話的に変数の中身を見たいことがよくある。
簡単にできる方法というか、コード上でPythonシェルを立ち上げるメソッドがどこかに載ってた気がするけど忘れてしまったので、それは後で勉強し直すとして、とりあえず手っ取り早くやり方を考えてみた。

まず、Pythonインタプリタを起動する。

(shell上で)
$ python
Python 2.6.2 (r262:71600, Jul 31 2009, 00:52:26)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

起動したPython Shell上でファイルに与えたい引数を入れる。強引に。

>>> sys.argv.append('hogehoge')

そして、execfile()を実行する。

>>> execfile('script.py')

そしたら、ファイルが実行されたのち、シェルにコントロールが戻ってくる。ここで変数を覗き見すればいい。ファイルはmain環境で実行されてるみたいなので、グローバルで宣言された変数は全て見られる。

>>> print var1
'hoge'

もしかしたら何か問題があるかもしれないけど、今のところは使えてるっぽいからOK。

No Comments