我想知道Python脚本是否可以在运行时启动Python解释器,从而可以从解释器访问变量。
让我解释一下自己。假设我有以下脚本:
x = 20
LaunchInterpreter() #Imaginary way to launch the Interpreter
现在,解释器已启动,我们可以使用变量。
>>> x #x defined value by the script
20
>>> x*x
400
答案 0 :(得分:1)
如果您正在寻找动态解释器,可以使用pdb
。它只是一个调试器,但应该仅用于此目的,但可以像下面这样使用;
x = 20
import pdb
pdb.set_trace()
现在您将拥有一名翻译,您可以使用变量。
我不知道这是否适合您的情况,但它是我能用所提供信息最接近的事情。
编辑1:
正如skishore的评论中所述,您也可以使用code.interact(local=locals())
所以:
x = 20
import code
code.interact(local=locals())
答案 1 :(得分:0)
Python的-i
命令行选项强制在脚本完成后启动命令解释程序:
python --help
usage: /Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
< ... >
-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
所以给定一个包含以下内容的文件test.py:
x = 7
y = "a banana"
你可以使用-i
选项启动python来完成你想要做的事情。
python -i test.py
>>> x
7
>>> y
'a banana'
>>>