gpt4 book ai didi

python - 动态模块导入在 python 中不起作用——为什么不呢?

转载 作者:太空宇宙 更新时间:2023-11-04 01:48:29 25 4
gpt4 key购买 nike

我正在尝试将 python 脚本 foo.py 动态导入另一个可执行脚本,该脚本位于一个深层嵌套的文件夹中。我正在使用

import os
sys.path.insert(0, '../../../../.')
from foo import Bar

这样就可以了,我可以愉快的使用Bar了。

我想让脚本动态确定文件夹深度,例如

import os
root_path = os.path.relpath(os.popen("git rev-parse --show-toplevel").read()).replace("../reponame", ".")
print(root_path) # prints '../../../../.'
sys.path.insert(0, root_path)
from foo import Bar

但是这不起作用,脚本在运行时提示找不到 Bar。

这是为什么?

最佳答案

如果您进行调试,您会看到 root_path 实际上是 '../../../../.\n'。删除 \n

root_path.strip()

关于python - 动态模块导入在 python 中不起作用——为什么不呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58589589/

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