По существу я хотел бы определить несколько глобальных функций 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 –