2016-08-05 6 views
0

全体的な目標ipythonからのpythonファイルを実行すると、引数

私は大きなデータファイルを解析するために書かれているデバッグ機能にしようとしていますようにオブジェクトを渡します。各デバッグ実行のためにファイルをパンダのデータフレームに読み込むには時間がかかります。そして、私はipythonコンソールを実行して、データを読み込み、その後、私の関数をデバッグします。デバッグセッションを終了すると、ipythonコンソールのデータフレームに読み込まれたデータが残ります。ジュピターのノートブックが望ましいでしょうが、デバッグ機能はありません。

質問

は、どのように私はipythonコンソールからのpythonファイルでデバッガを実行しないと、引数としてファイルにPythonのオブジェクトを渡しますか?

+0

'Ipython'の'%run'マジックは 'debug'オプションを持っています。 – hpaulj

答えて

0

現在code.InteractiveConsole(globals()).interact('')を使用しているIPython.embed()をちょうど使用してください。

は、あなたがそれを行う前に、あなたがが、IPythonをインポートしていることを確認します:あなたがそれらを再度実行する必要はありませんので、

import IPython 
# lots of code 
# even more code 
IPython.embed() 

あなたはまた、IPythonでいくつかの変数を保存することができます。

%storemagicは、IPythonのデータベースに変数とマクロを格納します。自動的ipython_config.pyにこれを追加し、起動時に格納された変数を復元するには :

c.StoreMagic.autorestore = True 

例:

In [1]: l = ['hello',10,'world'] 
In [2]: %store l 
In [3]: exit 

(IPython session is closed and started again...) 

[email protected]:~$ ipython 
In [1]: l 
Out[1]: ['hello', 10, 'world'] 

注:あなたが変数の値を変更した場合という

に留意しなければならない、あなたは新しい値を永続化したい場合は、再度%を格納する必要があります。

また、変数をpickleableにする必要があることにも注意してください。最も基本的なPythonの型は安全に%store'dできます。

関連する問題