Skip to main content
 首页 » 编程设计

python之如何从不同的子模块导入一个子模块

2025年05月04日8insus

<分区>

我的项目有以下结构:

DSTC/ 
    st/ 
        __init__.py 
        a.py 
        g.py 
        tb.py 
    dstc.py 

这是 a.py 的一部分:

import inspect 
import queue 
import threading 

这是 tb.py 的一部分:

import functools 
from . import a 

当直接运行时,a.py 不会产生任何错误,并且很容易验证没有SyntaxError。但是,运行 tb.py 会导致以下错误:

"C:\Program Files\Python36\python.exe" C:/Users/user/PycharmProjects/DSTC/st/tb.py 
Traceback (most recent call last): 
  File "C:/Users/user/PycharmProjects/DSTC/st/tb.py", line 15, in <module> 
    from . import a 
ImportError: cannot import name 'a' 
 
Process finished with exit code 1 

如何重写a从tb的导入,让tb可以直接运行而不出错?