【问题标题】:Is it possible to launch the Python interpreter at runtime?是否可以在运行时启动 Python 解释器?
【发布时间】:2013-08-11 22:29:50
【问题描述】:

我想知道 Python 脚本是否可以在运行时启动 Python 解释器,从而使变量可以从解释器中访问。

让我解释一下。假设我有以下脚本:

x = 20
LaunchInterpreter() #Imaginary way to launch the Interpreter

现在,解释器启动了,我们可以使用变量了。

>>> x               #x defined value by the script
20
>>> x*x
400

【问题讨论】:

标签: python


【解决方案1】:

如果您正在寻找动态解释器,您可以使用pdb。它只是一个调试器,但应该仅用于该目的,但可以按以下方式使用;

x = 20
import pdb
pdb.set_trace()

现在您将拥有一个解释器,您可以使用这些变量。

我不知道这是否适合您的情况,但这是我能想到的与提供的信息最接近的事情。

编辑 1:

如滑雪海岸的 cmets 所述,您也可以使用 code.interact(local=locals()) 所以:

x = 20
import code
code.interact(local=locals())

【讨论】:

  • 我想投票,但我需要一定数量的声誉。我会尽快接受答案:) 谢谢
【解决方案2】:

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'
>>>

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2022-01-20
    • 1970-01-01
    • 2022-12-21
    相关资源
    最近更新 更多