gpt4 book ai didi

python - 当脚本可以从不同位置调用时,如何编写导入语句?

转载 作者:行者123 更新时间:2023-12-01 08:31:01 25 4
gpt4 key购买 nike

考虑以下目录结构:

project/ 
scripts/
a1.py
a2.py
start.py

start.py 依赖于 a1.py,而 a1.py 又使用名为 some_func 的函数它存在于a2.py中。而且a1.py也是一个独立的脚本,可以独立调用。现在这产生了两种情况:

情况 1:(独立脚本)我将按如下方式导入 some_func

从 a2 导入 some_func

情况 2:(start.py 调用)

从scripts.a2导入some_func

我的问题:结合这两个用例的Python方式是什么?

可能的解决方案?:是否推荐这样做?

if __name__ == "__main__":
from a2 import some_func
elif __name__ == "start":
from scripts.a2 import some_func

注意:我使用的是 python 3.x

最佳答案

Pythonic 方式是从代码创建包,然后在代码中使用包内引用:https://docs.python.org/3/tutorial/modules.html

from . import some_func  # from scripts in same folder
from .scripts import some_func # from start.py

此外,在打包并安装解决方案后,您将能够使用绝对路径(来自包名称),例如:

# this will work from anywhere
from mypackage.scripts import some_func

关于python - 当脚本可以从不同位置调用时,如何编写导入语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53912238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com