Как управлять сценарием питона от НЕРАБОТАЮЩЕЙ интерактивной раковины?

Как я управляю сценарием питона из НЕРАБОТАЮЩЕЙ интерактивной раковины?

Следующие броски ошибка:

>>> python helloworld.py
SyntaxError: invalid syntax
66
да это означает, что что-то неправильно с вами, кодовая почта, вы - код!
добавлено автор Serial, источник
Необходимо принять ответ от Неда Дейли, если это отвечает вопрос правильно. Это также поможет поддерживающим разработчикам быстро определить правильный ответ.
добавлено автор darth_coder, источник
Что действительно helloworld.py </ код> похожи?
добавлено автор TerryA, источник
Нет, не обязательно. Возможности - OP, печатает питона helloworld.py в НЕРАБОТАЮЩЕМ окне раковины и этом doesn' t работа.
добавлено автор Ned Deily, источник
И при этом это не работало бы в типичном переводчике. Эта проблема подошла прежде, где люди по ошибке думают, что быстрый переводчик является приглашением командной строки.
добавлено автор Terry Jan Reedy, источник
САМЫЙ ЛЕГКИЙ ПУТЬ: питон-i helloworld.py также работает на python3
добавлено автор Leonard, источник

11 ответы

Built-in function: execfile

execfile('helloworld.py')

Это обычно нельзя называть с аргументами. Но вот работа:

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

Deprecated since 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 usage: 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])
93
добавлено
Можно ли, пожалуйста, добавить пример с параметрами командной строки также.
добавлено автор ViFI, источник

Можно использовать это в python3:

exec(open(filename).read())
22
добавлено
Этот работал красиво.
добавлено автор Leonard, источник

The IDLE shell window is not the same as a terminal shell (e.g. running sh or bash). Rather, it is just like being in the Python interactive interpreter (python -i). The easiest way to run a script in IDLE is to use the Open command from the File menu (this may vary a bit depending on which platform you are running) to load your script file into an IDLE editor window and then use the Run -> Run Module command (shortcut F5).

20
добавлено
К сожалению, нет, it' s не легкий управлять файлом Пайтона в НЕРАБОТАЮЩЕМ, проходя в параметрах командной строки. Есть давний нерешенный вопрос для НЕРАБОТАЮЩЕГО, чтобы сделать так (bugs.python.org/issue5680). Одна работа для тестирования должна вручную инициализировать sys.argv в самом начале программы, например, под обычным , если __ называют __ == "__ главный __" шаблон.
добавлено автор Ned Deily, источник
Этот ответ разъясняет, почему мы не можем управлять сценарием питона, используя НЕРАБОТАЮЩУЮ раковину. Спасибо @NedDeily
добавлено автор arsho, источник
Но вы can' t проходят в аргументах.: (
добавлено автор Erica Kane, источник

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

import os
import subprocess

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

subprocess.call(['python', DIR])
5
добавлено

execFile('helloworld.py') does the job for me. A thing to note is to enter the complete directory name of the .py file if it isnt in the Python folder itself (atleast this is the case on Windows)

For example, execFile('C:/helloworld.py')

4
добавлено

Например:

import subprocess

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

subprocess.call(["python", "-h"])
2
добавлено
subprocess.call (r' c:\path\to\something.py') не работает на меня. OSError: [WinError 193] %1 не является действительным применением Win32
добавлено автор Terry Jan Reedy, источник
Судите этого ДИРЕКТОРА подпроцесса импорта рта импорта = os.path.join (' C:\\', ' Users' ' Sergey' ' Desktop' ' py') subprocess.call ([' python' ДИРЕКТОР])
добавлено автор Sergey Nosov, источник

Чтобы управлять сценарием питона в раковине питона, такой как Айдл или в раковине Джанго, можно сделать следующее использование должностного лица() функция. Должностное лицо() выполняет кодовый аргумент объекта. Кодовый объект в Пайтоне - просто собранный код Пайтона. Таким образом, необходимо сначала собрать файл сценария и затем выполнить его, используя должностное лицо (). От вашей раковины:

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

Я использую Пайтона 3.4. Посмотрите собрать и должностное лицо доктора для подробной информации.

1
добавлено

САМЫЙ ЛЕГКИЙ ПУТЬ

python -i helloworld.py  #Python 2

python3 -i helloworld.py #Python 3
0
добавлено

Я проверил это и это, вид удается:

exec(open('filename').read())  # Don't forget to put the filename between ' '
0
добавлено
спасибо за наконечник цитаты, это работало на меня. Upvoted.
добавлено автор CppLearner, источник

У Питона 3, нет никакого execFile . Можно использовать должностное лицо встроенная функция, например:

import helloworld
exec('helloworld')
0
добавлено

В НЕРАБОТАЮЩЕМ, следующие работы:-

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

import helloworld
</div> </div>

Я не знаю много о том, почему это работает, но это делает..

0
добавлено
то, что вы делаете, загружает модуль, не бегущий от раковины. одно различие между два: 1) Загружая модуль ваше имя модуля называют __ = название файла 2), пробег с имени модуля раковины _name __ = " _main "
добавлено автор tanweer alam, источник
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community