2017-04-11 45 views
0

我每天使用TCL工作。 当我们编写代码时,我们把它写在一个文件中,然后在TCL解释器中编写源文件 源文件 ,以调试语法并修复算法错误。什么是相当于TCL“源文件”的python

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

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

但我想把Python代码写入一个文件,本质上是 “源文件” 插入python解释器,就像我们用TCL做的那样。

我一直在寻找allot,并看到所有的方式来获取python执行文件中的代码,大多数答案都与执行未知来源的代码有关,这不适用于此。

导入文件 的作品,但我需要使用

FILE.myvar例如检查变量和数据对象。

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

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

+0

使用IDLE(附带Python)或为此作业设计的其他工具。 – kindall

+0

如果你有myfile.py,考虑'import myfile'。对于后续的源代码,使用'reload(myfile)' –

+0

如果你这样做来捕捉* syntax *错误,你需要获得一个IDE。在运行代码之前,语法错误应该由IDE强调。 – user2357112

回答

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会话中。

相关问题