2015-05-31 4 views
0

Я довольно новичок в Python (я использую Codecademy и имею около 70%), и мне интересно, можно ли запустить raw_input в качестве фактической команды. Например, я думал, что я мог бы использовать:Python: Выполнение raw_input execute

command = raw_input(">>> ") 
command 

Однако, когда я запускаю его, он отображает >>> и позволяет мне набрать материал, но код я типа не будет работать.

Есть ли способ сделать это?

+0

Вы можете смотреть в [ 'code'] (https://docs.python.org/ 2/library/code.html), который предоставляет возможности для реализации REPL, таких как интерпретатор Python, в интерактивном режиме. – user2357112

ответ

0

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

command = raw_input(">>> ") 
exec(command) 

но остерегайтесь пользователь может выполнить что-нибудь!

0

Когда вы писали «>>>» в сыром вводе, это было всего лишь содержимое сообщения. Для того, чтобы добавить его в строку и выполнить, сделайте следующее:

import os 

command = ">>>" + raw_input("") 
os.system(command) 
0

Используйте exec(command), если вы хотите, чтобы выполнить код Python.

Используйте os.system(command), если вы хотите выполнять команды операционной системы (как вы бы в терминале)

+0

Вид не по теме, но мне любопытно. Означает ли это, что если я загружу скрипт Python, он может использовать os.system() для выполнения любой команды, которая не требует пароля в моем терминале, если бы я не знал? Ugh. Отстой быть новичком. – imyxh

+0

@IanHuang, я никогда не пробовал это, но я думаю, вы предпочли бы использовать 'exec()', и вам как-то придется загружать файл. Просто попробуйте с помощью простого скрипта python :-) –