2010-06-26 54 views
2

假設我有一個Python文件,並且我想在頂層運行它,但是在完成之後,我想拾取它離開的位置。我希望能夠使用它創建的對象等。如何運行Python頂級/解釋器與文件輸入?

一個簡單的例子,比方說,我有一個Python腳本,它的確可以做i = 5。腳本結束後,我想返回到頂層,並能繼續i = 5

回答

4

假設我正確理解你的問題,-i選項是你在找什麼:

~$ echo "i = 5" > start.py 
~$ python -i start.py 
>>> i 
5 
+0

謝謝!我很尷尬地說,在寫了大約一年的Python之後,我不知道這一點。這是在python文檔的某處嗎?我無法爲我的生活找到它。 – Kevin 2010-06-27 10:54:50

+0

'python -h'顯示了其中包含的內容:「」「-i:在運行腳本之後以交互方式檢查;如果標準輸入不是終端,則強制提示,即使爲 ;也可能是PYTHONINSPECT = x 」「」 – 2010-06-27 16:55:42

1

python -icode模塊。

0

您還可以設置PYTHONINSPECT在您的環境

1

如前所述,「蟒蛇 - 我'是你的問題最接近的答案。您還可以使用'導入'在解釋器中運行腳本。例如,如果您正在編輯「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中自動包含當前工作目錄)。

如果您想運行幾個不同的腳本並同時擁有所有這些腳本的環境,這非常有用。

+0

請注意,由於構成'__main__'模塊的細微差異,在REPL中導入的內容並不完全相同。 – 2010-06-27 04:22:16

2

看起來你正在尋找execfile - 例如:

$ cat >seti.py 
i = 5 
^C 
$ cat >useit.py 
execfile('seti.py') 
print i 
$ python useit.py 
5 
$ 
+0

這實際上也很有用,我用sys調用來執行其他python文件,並且無法在google上找到如何做到這一點。謝謝! – Kevin 2010-06-27 10:56:32

相關問題