假設我有一個Python文件,並且我想在頂層運行它,但是在完成之後,我想拾取它離開的位置。我希望能夠使用它創建的對象等。如何運行Python頂級/解釋器與文件輸入?
一個簡單的例子,比方說,我有一個Python腳本,它的確可以做i = 5
。腳本結束後,我想返回到頂層,並能繼續i = 5
。
假設我有一個Python文件,並且我想在頂層運行它,但是在完成之後,我想拾取它離開的位置。我希望能夠使用它創建的對象等。如何運行Python頂級/解釋器與文件輸入?
一個簡單的例子,比方說,我有一個Python腳本,它的確可以做i = 5
。腳本結束後,我想返回到頂層,並能繼續i = 5
。
假設我正確理解你的問題,-i選項是你在找什麼:
~$ echo "i = 5" > start.py
~$ python -i start.py
>>> i
5
python -i
或code
模塊。
您還可以設置PYTHONINSPECT
在您的環境
如前所述,「蟒蛇 - 我'是你的問題最接近的答案。您還可以使用'導入'在解釋器中運行腳本。例如,如果您正在編輯「testscript.py」你可以這樣做:
$ ls -l
-rw-r--r-- 1 Xxxx None 771 2009-02-07 18:26 testscript.py
$ python
>>> import testscript
>>> print testlist
['result1', 'result2']
>>>
testscript.py必須在sys.path中這個工作(sys.path中自動包含當前工作目錄)。
如果您想運行幾個不同的腳本並同時擁有所有這些腳本的環境,這非常有用。
請注意,由於構成'__main__'模塊的細微差異,在REPL中導入的內容並不完全相同。 – 2010-06-27 04:22:16
謝謝!我很尷尬地說,在寫了大約一年的Python之後,我不知道這一點。這是在python文檔的某處嗎?我無法爲我的生活找到它。 – Kevin 2010-06-27 10:54:50
'python -h'顯示了其中包含的內容:「」「-i:在運行腳本之後以交互方式檢查;如果標準輸入不是終端,則強制提示,即使爲 ;也可能是PYTHONINSPECT = x 」「」 – 2010-06-27 16:55:42