什么是python等同于TCL "source FILE"



我每天使用TCL工作。 当我们编写代码时,我们将其写入文件中,然后 源文件 在 TCL 解释器中调试语法并修复算法错误。

我们的 CAD 工具使用 tcl,因此我们经常使用 DB API 来访问数据库对象。

我正在学习python,与我的工作无关。

但是我想将python代码写入一个文件中,本质上是 "源文件" 进入 python 解释器,就像我们对 TCL 所做的那样。

我一直在搜索 allot,并看到各种让 python 在文件中执行代码的方法,大多数答案都与执行来自未知来源的代码有关,这在这里不适用。

导入文件 工作,但随后我需要使用

例如,FILE.myvar

。打字太多了,我只想说 例如,myvar 并获取返回的变量值。

我将如何在python交互式解释器中执行此操作?

如果你想要这样的功能,它对交互式探索有意义,但几乎不应该在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会话中。

最新更新