2012-09-25 73 views
5

當處理一個項目時,我的腳本通常會有一些鍋爐代碼,比如向sys.path添加路徑並導入我的項目模塊。每次啓動交互式解釋器以快速檢查某些內容時,運行這個鍋爐代碼非常繁瑣,所以我想知道是否可以將腳本傳遞給解釋器,以便它在「交互式」之前運行。是否有可能讓Python Interactive Interpreter在加載時運行腳本?

回答

6

這可以使用-i選項完成。引用翻譯幫助文本:

 
-i  : inspect interactively after running script; forces a prompt even 
     if stdin does not appear to be a terminal; also PYTHONINSPECT=x 

因此,解釋器運行腳本,然後使交互式提示在執行後可用。

實施例:

 
$ python -i boilerplate.py 
>>> print mymodule.__doc__ 
I'm a module! 
>>> 

這還可使用環境變量PYTHONSTARTUP來完成。例如:

 
$ PYTHONSTARTUP=boilerplate.py python 
Python 2.7.3 (default, Sep 4 2012, 10:30:34) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> print mymodule.__doc__ 
I'm a module! 
>>> 

我個人更喜歡前一種方法,因爲它不顯示三行信息,但要麼將完成這項工作。

+0

也適用於'ipython'。 –

+1

還有''PYTHONSTARTUP''環境變量。我使用這個來通過導入sympy等來設置pythonic計算器。 [添加製表符](http://docs.python.org/library/rlcompleter.html)也很有用。 –

+0

@JonasWielicki:酷!將它添加到答案中。 – Hubro

相關問題