python模块和类_python:两个模块和类在不同的包下具有相同的名称

在Python中尝试从不同子目录导入User类时遇到了AttributeError。问题出现在尝试通过`Controller.User.User()`和`Helper.User.User()`访问类。尽管每个子目录有__init__.py,但导入方式似乎不正确。解决方案可能涉及正确地导入和实例化User类,确保在每个模块中User类定义无误,并正确处理模块路径。
摘要由CSDN通过智能技术生成

我已经开始学习python和写一个练习应用程序.目录结构看起来像

src

|

--ShutterDeck

|

--Helper

|

--User.py -> class User

--Controller

|

--User.py -> class User

src目录位于PYTHONPATH中.在另一个文件中,让我们说main.py,我想访问两个User类.我该怎么做.

我尝试使用以下,但它失败:

import cherrypy

from ShutterDeck.Controller import User

from ShutterDeck.Helper import User

class Root:

@cherrypy.expose

def index(self):

return 'Hello World'

u1=User.User()

u2=User.User()

这当然含糊不清其他(c的做法)我可以想到的方式是

import cherrypy

from ShutterDeck import Controller

from ShutterDeck import Helper

class Root:

@cherrypy.expose

def index(self):

return 'Hello World'

u1=Controller.User.User()

u2=Helper.User.User()

但是当上面的脚本运行时,它会产生以下错误

u1=Controller.User.User()

AttributeError: 'module' object has no attribute 'User'

我无法弄明白为什么会出错?目录ShutterDeck,Helper和Controller在其中有__init__.py.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值