Подтвердить что ты не робот

Есть ли возможность выполнить Python script, находясь в интерактивном режиме

Обычно вы можете выполнить скрипт Python, например: python myscript.py, но если вы находитесь в интерактивном режиме, как можно выполнить скрипт Python в файловой системе?

>>> exec(File) ???

Должно быть возможно выполнить сценарий более одного раза.

4b9b3361

Ответ 1

Используйте execfile ('script.py'), но он работает только на python 2.x, если вы используете 3.0, попробуйте это

Ответ 2

import file без расширения .py сделает это, однако __name__ не будет "__main__", поэтому, если script выполняет какие-либо проверки, чтобы проверить, выполняется ли он в интерактивном режиме, вам нужно обойти их.

В качестве альтернативы, если вы хотите взглянуть на среду после запуска script, попробуйте python -i script.py

EDIT: загрузить его снова

file = reload(file)

Ответ 3

Возможно, вы захотите изучить IPython, более мощную интерактивную оболочку. Он имеет различные "магические" команды, включая %run script.py (который, конечно же, запускает script и оставляет любые переменные, которые он определил для вас).

Ответ 4

Вы также можете использовать модуль subprocess. Что-то вроде:

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

Ответ 5

Вы можете запустить любую системную команду с помощью python:

>>>from subprocess import Popen
>>>Popen("python myscript.py", shell=True)

Ответ 6

Самый простой способ сделать это - использовать модуль os:

import os

os.system('python script.py')

Фактически os.system('cmd') для запуска команд оболочки. Надеюсь, этого будет достаточно.