パスを指定せずにipython内からpythonスクリプト(モジュールではない)を実行することは可能ですか?PYTHONPATHを設定しようとしましたが、モジュールに対してのみ機能するようです。実行したい
%run my_script.py
ファイルを含むディレクトリにはありません。
パスを指定せずにipython内からpythonスクリプト(モジュールではない)を実行することは可能ですか?PYTHONPATHを設定しようとしましたが、モジュールに対してのみ機能するようです。実行したい
%run my_script.py
ファイルを含むディレクトリにはありません。
回答:
「my_script.py」のディレクトリ内から、次のように簡単に実行できます。
%run ./my_script.py
SyntaxError: invalid syntax
ここでは、Pythonコンソールで。Debian 9上のPython 3.5.3。ただし、IPythonでは動作します。
%run
は、ipythonのマジックコマンドであり、Python言語自体の一部ではないためです。
%run
魔法は、パラメータがあるfile_finder
、それが(参照、実行するファイルへのフルパスを取得するために使用することをここに)。お気づきのように、現在のディレクトリを検索し、必要に応じて「.py」を追加します。
使用するファイルファインダーを指定する方法はないようですから%run
、魔法が、あなた自身の魔法のコマンドを定義するからあなたを停止するには何もないことへの呼び出し%run
適切なファイルファインダーと。
非常に厄介なハックとして、デフォルトfile_finder
を独自のものでオーバーライドできます。
IPython.core.magics.execution.ExecutionMagics.run.im_func.func_defaults[2] = my_file_finder
正直なところ、IPython APIが変化しているレートで、それはあなた自身の魔法を定義するのと同じくらい働き続ける可能性があります。
Pythonでは、モジュールとスクリプトの間に違いはありません。スクリプトとモジュールの両方を実行できます。pythonは問題のファイルを見つけることができる必要があるため、ファイルはpythonpath AFAIK上にある必要があります。pythonがディレクトリから実行される場合、ディレクトリは自動的にpythonpathに追加されます。
別のPythonスクリプトからPythonスクリプトを呼び出す最良の方法は何ですか?を参照してください。モジュールとスクリプトの詳細については
あなたが望むことをする組み込み関数execfile(filename)もあります
__name__
== ' __main__
':」行を使用してスクリプトとしても機能します
Python 3.6.5の場合
import os
os.getcwd()
runfile('testing.py')
runfile()
のコマンドipython
?そのままでは機能しません。
import <module>
exec(<moduleSource>)
JavaScriptまたはPerl と基本的に同じです。