从其他 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
我有一个 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