0

我对python相当陌生,这个问题可能是针对具体情况的。我正在使用 IPython 创建物理模拟图。

我遇到的问题是,当我尝试创建一个程序来避免一遍又一遍地重新键入相同的代码时。我试图让用户输入在 IPython 中执行命令,而不必自己输入所有内容。

例如,我正在使用一个名为 pynbody 的程序。我想做的是获取它,所以当我用 ipython 打开我的测试程序时,它会提示用户输入用户想要导入的内容。但是,我只能将它作为一个字符串输入,它不会执行。

获取用户输入所涉及的语法是什么,即 input= raw_input("What would you like to import?")

就像你在 IPython 中输入的命令一样执行,即 import pynbody

如果你创建一个程序,即test.py,它工作正常,并且在其中你有import pynbody。关于从用户输入中使其工作的任何想法?

4

1 回答 1

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 手动输入表达式的道路。

于 2013-02-19T22:05:31.210 回答