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