2017-04-11 69 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會話中。

相關問題