10

work.py在执行一些初始化脚本之后,我想在 Python 中执行一个脚本init.py

如果我正在寻找一个交互式会话,执行python -i init.py或设置PYTHONSTARTUP=/path/to/init.py就可以了,但我正在寻找执行另一个脚本。

由于这是一个经常发生的一般情况(init.py设置环境,所以一直都是相同的),我非常希望不引用init.pyfrom work.py。怎么可能做到这一点?如果我从脚本而不是提示中需要它,会有什么改变吗?

非常感谢你。

4

2 回答 2

11

比 C0deH4cker 接受的答案更普遍,这在 Python 手册中的第 2.2.5 节 - 自定义模块中进行了讨论。基本思路是,要获取特殊启动脚本的位置,需要执行以下 Python 代码,例如从解释器的交互会话中:

>>> import site
>>> site.getusersitepackages()
'/home/user/.local/lib/python3.2/site-packages'

输出应该正是这样的位置,在文件中sitecustomize.py

于 2012-10-04T22:32:18.137 回答
7

Python 有一个在启动时运行的特殊脚本。在我的平台上,它位于/usr/lib/python2.5/site-packages/sitecustomize.pyIIRC。因此,您可以将 init.py 与导入它的 sitecustomize.py 脚本一起放在该目录中,或者将 init.py 的内容粘贴到 sitecustomize.py 中。

于 2012-07-09T22:36:42.640 回答