저는 파이썬에 처음으로 익숙합니다.이 질문은이 상황에 상당히 구체적 일 수 있습니다. 나는 물리 시뮬레이션의 그래프를 생성하기 위해 IPython을 사용하고 있습니다.사용자 입력을 IPython에서 수행하기
내가 겪고있는 문제는 동일한 코드를 반복해서 반복하지 않아도되는 프로그램을 만들 때 발생합니다. 나는 IPython에서 명령을 실행하기 위해 사용자 입력을 얻으 려하고 모든 것을 직접 입력하지 않아도됩니다.
예를 들어, 나는 pynbody라는 프로그램을 사용하고 있습니다. 내가하려는 것은 ipython으로 테스트 프로그램을 열 때 사용자가 원하는 것을 입력하라는 메시지를 표시합니다. 수입. 그러나, 나는 그것을 실행할 수없는 문자열로만 가져올 수있었습니다.
사용자 입력을 얻기에 관련된 구문, 즉 입력 = raw_input을가 ("무엇 가져올 하시겠습니까?")당신이 IPython에 입력 한 명령 인 것처럼 실행하는, 즉 무엇
import pynbody
프로그램을 만들면 잘 작동합니다 (예 : test.py).이 프로그램에는 import pynbody가 있습니다. 사용자 입력에서이 작업을 수행하기위한 아이디어가 있습니까? 나는 완전히 당신이 뭘 하려는지 이해하지만 당신은
imported_module = __import__(<string>)
또는 eval('python expression')
더 복잡 위해 http://docs.python.org/2/library/functions.html#eval
를 참조 시도 할 수는 'AST'모듈을보고
실제로 실행중인 것은 컨텍스트 없이는 훨씬 더 복잡하고 의미가 없으므로 가져 오기를 예로 사용했습니다. 그것은 동일한 전제이지만, eval ('python expression')은 완벽하게 작동했습니다. 감사! – johnpauljones