从其他 py 文件调用 python 函数 __init__.py

Call python function from other py file what goes in __init__.py

我有一个 python 文件,其中包含一个我想在多个地方调用的函数。但是我希望具有该功能的文件位于主目录中,而不必将其存储在我要使用它的每个目录中。这可能吗?

例如,假设我有一个名为 add.py 的 py 文件,它位于主目录中,它的 this

def add(b):
    a = 3
    print "ADDING %d + %d" % (a, b)
    return a + b

然后在我想调用 add 的子目录中,我该怎么做,我知道如果在同一个目录中我可以这样做 from a import add

但在我的例子中,add 函数更复杂,我想在一堆不同的地方调用它,而不必在每个目录中存储多个文件。 我知道我可以使用 init.py,但是该字段中的内容是什么?

谢谢

您可以将主目录添加到 PYTHONPATH 然后就可以执行 from a import add.

要以编程方式将目录添加到 PYTHONPATH ,您可以使用 sys.path.

例子-

import sys
sys.path.append('/path/to/home/directory')

完成上述操作后,您将能够直接导入主目录中存在的任何脚本。例如,如果在主目录中有一个带有添加功能的 a.py,在上面几行之后你可以执行 -

from a import add

在python之外,您还可以设置PYTHONPATH环境变量包含您的主目录,然后您就可以直接导入主目录中的任何python脚本(来自任何地方)-

在 bash -

中设置 PYTHONPATH 的示例
export PYTHONPATH=$PYTHONPATH;/path/to/home/directory