gpt4 book ai didi

python - 如何使用相对路径从不同目录导入python脚本?

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

我有以下目录结构:

main_package
| __init__.py
| folder_1
| | __init__.py
| | folder_2
| | | __init__.py
| | | script_a.py
|
| folder_3
| | __init__.py
| | script_c.py

所有__init__.py 文件都是空的。这是其他三个文件的内容。

script_a.py:

from ...folder_3 import script_c


print "Hello from script_a"

script_c.py:

print "Hello from script_c"

当我尝试运行 script_a.py 时,如下所示,它失败了。这与提供的答案完全相反 here

如何运行 script_a.py 并将 script_c.py 导入其中?我正在使用 Python 2.71

$ pwd
main_package/folder_1/folder_2

$ python ./script_a.py
Traceback (most recent call last):
File "./script_a.py", line 1, in <module>
from ...folder_3 import script_c
ValueError: Attempted relative import in non-package

最佳答案

Importing from a relative path in Python 中所述

@tim 在评论部分建议,如果您通过添加 -m 来运行脚本,它可能会起作用。

我向您发送链接的同一主题中还建议了另一种方法(也称为黑客方法)。

编辑:

import sys, os
sys.path.append(os.path.join(os.path.dirname(__file__), '../..', 'folder_3'))
import script_c

这个对我有用。你能尝试一下吗?你这样导入可以吗?

关于python - 如何使用相对路径从不同目录导入python脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59166667/

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