我发现当我启动python shell时,我有一堆命令,我总是键入进入我想要的状态。继续重新键入这些命令是很烦人的,所以我将它们捆绑到一个脚本中。现在我输入:
execfile('script.py')
一旦我进入shell,它就会通过所有步骤让我进入我需要进入的状态。
现在我想更进一步。如何在每次启动shell时让python shell自动运行script.py
,所以我不必继续重新键入那一行?
答案 0 :(得分:13)
这是一种不必混淆环境变量的方法:
例如,如果我的脚本中包含以下名为script.py
的脚本:
#!/usr/bin/env python
print("example")
我可以告诉python
在将我带到-i
标志的解释器之前运行它。
$ python -i script.py
example
>>>
答案 1 :(得分:8)
我认为您正在寻找PYTHONSTARTUP环境变量
答案 2 :(得分:2)
如果可能的话,我建议您使用IPython。它提供了很棒的功能,而autoexec只是其中之一。但是,当然,@ mgilston
提到了正确的答案答案 3 :(得分:2)
创建一个名为usercustomize.py
的文件,并将其放在USER_SITE
目录中(您可以找到import site; site._script()
。每次启动解释程序时都会执行此文件。
有一个名为sitecustomize.py
的类似文件,只要任何人启动Python就会执行。
答案 4 :(得分:0)
这是Windows解决方案,但我确定可以完成与Unix等价的操作。我创建了一个文件\MyPythonCode\autoexec.py
(最后一行是print("Autoexec Complete")
)和一个BAT文件MyPython.Bat
,它具有:
cd \myPythonCode
python -i autoexec.py
我只使用命令:mypython
现在每次都启动Python环境。