2013-08-30 3 views
0

사용자가 함수를 사용하여 Python으로 명령을 입력 할 수 있습니까? 이 같은 :사용자 명령 줄?

#run - command to send user input 
def run(execute): 
    execute 

#program example 
command = input("Type in your command: ") 
run(command) 

더 이상 루프는 "END"가 입력 될 때까지이 기능이 IDLE에서 이미이기 때문에 평 파일을 실행하고 사용하는 방법에 대한 이야기, 메신저 무한 루프를 만들 추가 할 수 예를 들어 파일을 만들려면

사용자는 create=open("file.txt","w")을 입력 할 수 있지만 작동합니까? 어떻게이 사용자가이 코드에서 예를 들어, 프로그래머에 의해 만들어진 명령을 사용할 수 있도록 작업을 할 수없는 경우 : 사용자가 example("hello world!")에 입력 한 경우

#run - command to send user input 
def run(execute): 
    execute 

#Example command 
def example(text): 
    f = open("user.txt", "w+") 
    f.write(text) 
    f.close() 

#program example 
command = input("Type in your command: ") 
run(command) 

그것은 작동합니다?

+0

경고에 대해 @iCodez에 +1 : 그 방법은 무엇입니까? 하지만 당신은 절대적으로 사용자 입력을 신뢰하고 싶습니다 !!!!! (그들은 정말 나쁜 것을 넣고 모든 것을 삭제할 수 있습니다). 이것은 XY 문제를 비명을 지른다. 왜 사용자가 명령을 입력하도록 허용 하시겠습니까? – TehTris

답변

2

당신은 사용할 수 exec 내장 :

>>> exec(input('Input a command: ')) 
Input a command: print(1+1) 
2 
>>> 

참고 그러나 이것은 양이온과 함께 사용되어야한다 - 당신이 실제 파이썬 코드로 거기에 넣어대로 실행됩니다.

+0

'raw_input'을 말하는 것 같습니까? – TehTris

+0

@Tehtris - 그가 사용하고있는 Python 3.x가 아닙니다. – iCodez

+0

에헴 ... 내가 말하고자하는 것은 .... 만약 당신이 2.7에서 그것을했다면 그것은'raw_input()'이 될 것입니다 :) – TehTris