基本上我想在一個腳本中定義的全球Python函數一把確保每當我我 機器上運行一個python腳本,或者每當我開始一個Python終端它們加載
讓我們來談談你的第二個選擇。啓動終端時,有多種方法可以加載功能和變量。我建議使用IPython而不是默認的Python終端。但是,要在不安裝IPython的情況下執行此操作,請修改環境變量 PYTHONSTARTUP.您確實喪失了劃分配置文件的能力。
安裝IPython後,您需要初始化其配置文件。 要創建默認配置文件:
ipython profile create
爲了解決共同的話題在其他的答案,全局變量和函數尤其如果他們隱含地定義一個壞主意。但是,您可以在啓動ipython時定義和加載單獨的配置文件。 要創建這樣一個配置文件:
ipython profile create <name>
要加載<name>
簡介:
ipython --profile=<name>
現在修改配置文件。運行以下命令查看它們的位置:
ipython locate profile
您應該找到ipython_config.py
。我建議讀它,它有非常有用的評論。
但去的時候,你可以加載任意函數,並通過添加這些行到配置文件開始IPython的時候變量:
c.InteractiveShellApp.exec_lines = [ "def p(s): print s" ]
c.InteractiveShellApp.exec_files = [ "/path/of/script.py" ]
我引用the IPython docs和意見在ipython_config.py
:
96 # List of files to run at IPython startup.
97 # c.TerminalIPythonApp.exec_files = []
98
99 # lines of code to run at IPython startup.
100 # c.TerminalIPythonApp.exec_lines = []
請參閱['__init __。py'](http://stackoverflow.com/questions/448271/what-is-init-py-for)。 – e0k
爲每個Python腳本運行不是受支持的行爲('__init __。py'可用於確保某些代碼是在運行包或其子代的情況下運行的),但爲了自定義交互式解釋器,請將'PYTHONSTARTUP'環境變量指向具有Python命令的文件,以便在交付給交互式解釋器之前運行,例如'export PYTHONSTARTUP = $ HOME/.pythonrc'。 – ShadowRanger
請參閱https://docs.python.org/2/library/site.html –