5
當處理一個項目時,我的腳本通常會有一些鍋爐代碼,比如向sys.path添加路徑並導入我的項目模塊。每次啓動交互式解釋器以快速檢查某些內容時,運行這個鍋爐代碼非常繁瑣,所以我想知道是否可以將腳本傳遞給解釋器,以便它在「交互式」之前運行。是否有可能讓Python Interactive Interpreter在加載時運行腳本?
當處理一個項目時,我的腳本通常會有一些鍋爐代碼,比如向sys.path添加路徑並導入我的項目模塊。每次啓動交互式解釋器以快速檢查某些內容時,運行這個鍋爐代碼非常繁瑣,所以我想知道是否可以將腳本傳遞給解釋器,以便它在「交互式」之前運行。是否有可能讓Python Interactive Interpreter在加載時運行腳本?
這可以使用-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! >>>
我個人更喜歡前一種方法,因爲它不顯示三行信息,但要麼將完成這項工作。
也適用於'ipython'。 –
還有''PYTHONSTARTUP''環境變量。我使用這個來通過導入sympy等來設置pythonic計算器。 [添加製表符](http://docs.python.org/library/rlcompleter.html)也很有用。 –
@JonasWielicki:酷!將它添加到答案中。 – Hubro