我每天都在使用TCL工作。 当我们编写代码时,我们将其写入文件中 源文件 在TCL解释器中调试语法并修复算法错误。
我们的CAD工具使用tcl,因此我们经常使用DB API来访问数据库对象。
我正在学习python,与我的工作无关。
但我想将python代码写入文件中 "来源文件" 像我们使用TCL一样进入python解释器。
我一直在搜索分配并查看各种方法来让python在文件中执行代码,大多数答案都与执行来自未知来源的代码有关,这里不适用。
导入文件 工作,但我需要使用
检查变量和数据对象 例如,FILE.myvar。
打字过多,我想说 myvar并获取返回的变量值。
我如何在python交互式解释器中执行此操作?
答案 0 :(得分:2)
如果你想要这样的功能,这对于交互式探索是有意义的,但几乎不应该在Python程序中使用,我推荐IPython。它是一个备用的交互式Python解释器,具有更丰富的功能集。在IPython中,您正在寻找的特定功能是
%run FILE.py
在新的命名空间中运行该文件,然后在完成后将该命名空间的内容传播到交互式命名空间(因此,交互式定义的内容对于脚本的内容是不可见的,但您仍然可以方便地检查结果),或者
%run -i FILE.py
直接在交互式命名空间中运行该文件。
那就是说,IPython对于这个功能来说有点过分了。要在正在运行的常规交互式解释器中“获取”文件,您可以执行
with open('FILE.py') as f:
exec(f.read())
或者在新的解释器中运行Python文件并在完成后进入交互模式,你可以做到
python -i FILE.py
在shell中,而不是在Python或IPython会话中。