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

Как запустить python script из интерактивной оболочки IDLE?

Как запустить python script из интерактивной оболочки IDLE?

Далее выдается сообщение об ошибке:

>>> python helloworld.py
SyntaxError: invalid syntax
4b9b3361

Ответ 1

Встроенная функция: execfile

execfile('helloworld.py')

Обычно он не может быть вызван с помощью аргументов. Но вот обходной путь:

import sys
sys.argv = ['helloworld.py', 'arg']  # argv[0] should still be the script name
execfile('helloworld.py')

Устаревший с 2.6: popen

import os
os.popen('python helloworld.py') # Just run the program
os.popen('python helloworld.py').read() # Also gets you the stdout

С аргументами:

os.popen('python helloworld.py arg').read()

Использование Advance: subprocess

import subprocess
subprocess.call(['python', 'helloworld.py']) # Just run the program
subprocess.check_output(['python', 'helloworld.py']) # Also gets you the stdout

С аргументами:

subprocess.call(['python', 'helloworld.py', 'arg'])

Подробнее читайте в документах: -)


Протестировано с помощью этого базового helloworld.py:

import sys
if len(sys.argv) > 1:
    print(sys.argv[1])

Ответ 2

Вы можете использовать это в python3:

exec(open(filename).read())

Ответ 3

Окно оболочки IDLE не совпадает с оболочкой терминала (например, работает sh или bash). Скорее, это похоже на работу в интерактивном интерпретаторе Python (python -i). Самый простой способ запустить script в IDLE - использовать команду Open в меню File (это может немного отличаться в зависимости от того, какая платформа вы используете), чтобы загрузить ваш файл script в редактор IDLE а затем используйте команду RunRun Module (ярлык F5).

Ответ 4

Попробуйте это

import os
import subprocess

DIR = os.path.join('C:\\', 'Users', 'Sergey', 'Desktop', 'helloword.py')

subprocess.call(['python', DIR])

Ответ 5

execFile('helloworld.py') выполняет эту работу для меня. Необходимо отметить полное имя каталога .py файла, если оно не находится в самой папке Python (по крайней мере, это относится к Windows)

Например, execFile('C:/helloworld.py')

Ответ 6

Например:

import subprocess

subprocess.call("C:\helloworld.py")

subprocess.call(["python", "-h"])

Ответ 7

САМЫЙ ПРОСТОЙ СПОСОБ

python -i helloworld.py  #Python 2

python3 -i helloworld.py #Python 3

Ответ 8

В IDLE работает следующее: -

import helloworld

Ответ 9

Чтобы запустить python script в оболочке python, такой как Idle или в оболочке Django, вы можете сделать следующее с помощью функции exec(). Exec() выполняет аргумент объекта кода. Объект кода в Python - это просто скомпилированный код Python. Поэтому сначала необходимо скомпилировать ваш файл script, а затем выполнить его с помощью exec(). Из вашей оболочки:

>>>file_to_compile = open('/path/to/your/file.py').read()
>>>code_object = compile(file_to_compile, '<string>', 'exec')
>>>exec(code_object)

Я использую Python 3.4. Подробнее см. compile и exec Информация.

Ответ 10

В Python 3 нет execFile. Можно использовать exec встроенную функцию, например:

import helloworld
exec('helloworld')

Ответ 11

Я тестировал это, и он вроде как работает:

exec(open('filename').read())  # Don't forget to put the filename between ' '

Ответ 12

Вы можете сделать это двумя способами

  • import file_name

  • exec(open('file_name').read())

но убедитесь, что файл должен храниться там, где работает ваша программа