我想在执行一些初始化脚本work.py
之后在Python中执行脚本init.py
。
如果我正在寻找一个交互式会话,执行python -i init.py
或设置PYTHONSTARTUP=/path/to/init.py
就可以了,但我希望执行另一个脚本。
由于这是一个经常发生的一般情况(init.py
设置环境,因此在所有时间都是一样的),我非常希望不从init.py
引用work.py
。怎么可以这样做?如果我需要从脚本而不是提示中进行此操作会有什么变化吗?
非常感谢。
答案 0 :(得分:6)
比C0deH4cker的公认答案更普遍,这在Section 2.2.5 - Cusomization Modules的Python手册中有所讨论。基本思想是,为了获得特殊启动脚本的位置,需要执行以下Python代码,例如:来自口译员的互动会议:
>>> import site
>>> site.getusersitepackages()
'/home/user/.local/lib/python3.2/site-packages'
输出应该是文件sitecustomize.py
中的确切位置。
答案 1 :(得分:4)
Python有一个在启动时运行的特殊脚本。在我的平台上,它位于/usr/lib/python2.5/site-packages/sitecustomize.py
IIRC。因此,您可以将init.py放在该目录中,并将其导入到导入它的sitecustomize.py脚本中,或者只是将init.py的内容粘贴到sitecustomize.py中。