我对python很新,这个问题可能对这种情况非常具体。我正在使用IPython来创建物理模拟图。
我遇到的问题是当我尝试创建一个避免不得不一遍又一遍地重新键入相同代码的程序时。我试图获取用户输入以在IPython中执行命令,而无需自己键入所有内容。
例如,有一个我正在使用的程序叫做pynbody。我想做的就是这样,当我用ipython打开我的测试程序时,它会提示用户输入用户想要输入的内容。但是,我只能将其作为字符串获取,而不会执行。
获取用户输入所涉及的语法是什么,即 input = raw_input("您要导入什么?")
执行,好像它是你在IPython中输入的命令,即 import pynbody
如果您创建一个程序,即test.py,它可以正常工作,并且在其中您有导入pynbody。有关从用户输入中获取此功能的任何想法吗?
答案 0 :(得分:0)
我不确定我完全明白你要做什么,但你可以试试
imported_module = __import__(<string>)
要么
eval('python expression')
见http://docs.python.org/2/library/functions.html#eval
更复杂,请查看'ast'模块(http://docs.python.org/2/library/ast.html)
但是对于初学者,我会避免走这条路,提示用户输入包,或者用raw_input手工输入表达式。