Python OOP - 从不同文件导入类

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

我正在尝试理解类,并且我无法访问不同文件中的类。我必须在temp文件夹中存放aaaa.py和unittest.py文件。

aaaa.py:

class Test:

    def __init__(self):
        print('Test')

    def function(self):
        print('Test3')

unittest.py:

import temp.aaaa

y = temp.aaaa.Test()

当我运行unittest时出现错误:

AttributeError: module 'temp' has no attribute 'aaaa'

问题是什么?

项目结构:

->Project:
--> temp:
---> extr(folder)
---> __init__.py
---> aaaa.py
---> unittest.py
---> test.txt
提问于
用户回答回答于

第一个解决办法:

from aaaa import Test
x = Test()

第二种解决办法:

from temp import aaaa
x= aaaa.Test()
用户回答回答于

我假设你的文件结构类似于以下内容:

root_package/
 |_ __init__.py
 |_ unittest.py
 |_ aaaa.py

在python 3中,你不能再使用内隐式相对导入,例如unittest.py:

# not valid, implicit relative import
import aaaa 

# valid, explicit relative import
from . import aaaa 

# valid, absolute import
from root_package import aaaa

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励