2017-03-21 12 views
2

jupiter notebook/ipythonを開発環境として使用し、その後すべてをPythonスクリプトにコピーしたいとします。 ipythonでは、我々はpythonでipythonコマンドを実行できますか?

In [1]: cd .. 
/Users/myname/Desktop/software 

In [2]: ls 
    blah_blah_blah/ 

と仮定私はipythonのノートブックを終了し、すべてをコピーするようなコマンドを持っている(私は1000行があると、私は1によってそれらに1を編集できませんでした)私のPythonスクリプトを作成します。私のpythonスクリプトが "cd .."のような行を理解できるようにすることは可能ですか?

+0

'os'とCD'のようなものを行うことができます 'os.path'モジュールがあります。 '。 – hpaulj

答えて

2

標準を使用してIPythonコードを実行する方法は少し複雑になります。例えば、シェルコマンドを実行するためにIPythonの「魔法」のメソッドへの呼び出しを示すの答えの一つで、this質問を参照してください。

from IPython.terminal.embed import InteractiveShellEmbed 

ipshell = InteractiveShellEmbed() 
ipshell.dummy_mode = True 
ipshell.magic("%timeit abs(-42)") 

はるかに簡単にオプションでは、単にあなたの保存を実行するためにIPythonインタプリタを使用することですスクリプト。それぞれのシェルコマンドの前に、%があることを確認する必要があります。これは、 'magic'コマンドを示しています。あなたがあまりにも多くのシェルコマンドを使用しているとは思わないので、簡単な検索と置換のタスクでなければなりません。プレフィックスに異なるシェルコマンドがたくさんある場合は、この作業を行うための短いスクリプトを書くこともできます。また、スクリプトの拡張子が.ipyであることを確認する必要があります。

script.ipy:

%cd .. 
%ls 
x = "My script!" 
print(x) 

端末からスクリプトを実行するには:

>>> ipython script.ipy 
関連する問題