运行python脚本作为其父模块的一部分

时间:2018-02-08 09:58:58

标签: python python-2.7

我有一个像这样的python项目:

root/
    __init__.py
    coolstuff.py
    moduleA/
        __init__.py
        myscript.py

当我的工作目录 moduleA时,我如何运行myscript.py,知道它需要有权访问coolstuff

编辑:我知道$PYTHONPATH解决方案,但我想知道存在哪些其他解决方案

3 个答案:

答案 0 :(得分:1)

将您的根目录包含在路径中并导入您的包。在myscript.py中包含以下代码。

import sys
from os.path import dirname,abspath
sys.path.append(dirname(dirname(abspath(__file__))))
import coolstuff
# do cool stuff

希望这有帮助!

修改:添加了导入系统

答案 1 :(得分:0)

您可以导入sys并导入存在coolstuff.py的实际目录。

例如:

import sys
sys.path.insert(0,"/root")
import coolstuff

注意:如果您使用的是Windows,请使用这样的路径 - " C:\ Users \ test \ Documents" (考虑到你的coolstuff.py位于文件中)

__init__.py is not required for this method.

希望这对你有帮助!

答案 2 :(得分:0)

将项目路径添加到PYTHONPATH:

export PYTHONPATH =$PYTHONPATH:/xyz/root/

或来自python:

import sys
sys.path.append("/xyz/root/")# path to your project directory

现在,只需输入即可访问根目录中的所有模块。