web-dev-qa-db-ja.com

対話モードでPythonスクリプトを実行する可能性はありますか

通常、Pythonスクリプトを実行できます。例:python myscript.pyが、インタラクティブモードの場合、ファイルシステムでPythonスクリプトを実行するにはどうすればよいですか?

>>> exec(File) ???

スクリプトを複数回実行することができるはずです。

50
lennykey

execfile( 'script.py') を使用しますが、python 2.x、3.0を使用している場合のみ動作します this

41
fn.

.py拡張子のない_import file_はそれを行いますが、___name___は_"__main__"_ではないため、スクリプトが対話的に実行されているかどうかを確認するためにチェックを行う場合は、それらをバイパスする必要があります。

または、スクリプトの実行後に環境を確認する場合は、_python -i script.py_を試してください。

編集:もう一度ロードするには

file = reload(file)

31
richo

より強力なインタラクティブシェルである IPython を調べてください。 %run script.py(もちろん、スクリプトを実行し、定義済みの変数を確認するために残します)を含むさまざまな「マジック」コマンドがあります。

11
Thomas K

subprocessモジュールも使用できます。何かのようなもの:

>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()
5

Pythonを使用して任意のシステムコマンドを実行できます。

>>>from subprocess import Popen
>>>Popen("python myscript.py", Shell=True)
2
Silver Light

最も簡単な方法は、osモジュールを使用することです。

_import os

os.system('python script.py')
_

実際、os.system('cmd')はシェルコマンドを実行します。それで十分であることを願っています。

0
Cipher