デモファイルtest.py
があります。 Windowsコンソールでは、C:\>test.py
でファイルを実行できます。
代わりにPythonシェルでファイルを実行するにはどうすればよいですか?
スクリプトを実行してプロンプトで終了する場合(変数を検査できるように)、次を使用します。
python -i test.py
スクリプトが実行され、Pythonインタープリターにドロップされます。
test.py
の内容によって異なります。適切な構造は次のとおりです。
# suppose this is your 'test.py' file
def main():
"""This function runs the core of your program"""
print("running main")
if __== "__main__":
# if you call this script from the command line (the Shell) it will
# run the 'main' function
main()
この構造を保持する場合、コマンドラインで次のように実行できます($
がコマンドラインプロンプトであると仮定します):
$ python test.py
$ # it will print "running main"
Pythonシェルから実行する場合は、次のことを行うだけです。
>>> import test
>>> test.main() # this calls the main part of your program
既にPythonを使用している場合は、subprocess
モジュールを使用する必要はありません。代わりに、コマンドラインとPythonインタープリターの両方から実行できるようにPythonファイルを構造化してください。
Pythonの新しいバージョンの場合:
exec(open(filename).read())
同じフォルダーから、次のことができます。
import test
このすべてを毎回書かないようにしたい場合は、関数を定義できます:
run = lambda filename : exec(open(filename).read())
そしてそれを呼び出す
run('filename.py')