Ответ 1
Используйте execfile ('script.py'), но он работает только на python 2.x, если вы используете 3.0, попробуйте это
Обычно вы можете выполнить скрипт Python, например: python myscript.py
, но если вы находитесь в интерактивном режиме, как можно выполнить скрипт Python в файловой системе?
>>> exec(File) ???
Должно быть возможно выполнить сценарий более одного раза.
Используйте execfile ('script.py'), но он работает только на python 2.x, если вы используете 3.0, попробуйте это
import file
без расширения .py сделает это, однако __name__
не будет "__main__"
, поэтому, если script выполняет какие-либо проверки, чтобы проверить, выполняется ли он в интерактивном режиме, вам нужно обойти их.
В качестве альтернативы, если вы хотите взглянуть на среду после запуска script, попробуйте python -i script.py
EDIT: загрузить его снова
file = reload(file)
Возможно, вы захотите изучить IPython, более мощную интерактивную оболочку. Он имеет различные "магические" команды, включая %run script.py
(который, конечно же, запускает script и оставляет любые переменные, которые он определил для вас).
Вы также можете использовать модуль subprocess
. Что-то вроде:
>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()
Вы можете запустить любую системную команду с помощью python:
>>>from subprocess import Popen
>>>Popen("python myscript.py", shell=True)
Самый простой способ сделать это - использовать модуль os
:
import os
os.system('python script.py')
Фактически os.system('cmd')
для запуска команд оболочки. Надеюсь, этого будет достаточно.