我有两个文件:Server.py
和DBManger.py
。
我通过启动server.py
来启动项目,在get_answer
函数中的客户端请求上,我调用DBManager
类中的Login
函数。
如果登录被批准,我想调用静态add_online_user
函数。
现在,当我尝试执行此操作时出现此错误:
Traceback (most recent call last):
File "K:/Python/Spotify/Server/Server.py", line 6, in <module>
import DBManager
File "K:\Python\Spotify\Server\DBManager.py", line 4, in <module>
import Server
File "K:\Python\Spotify\Server\Server.py", line 156, in <module>
db = DBManager.DataManager()
AttributeError: 'module' object has no attribute 'DataManager'
Server.py
代码:import DBManager
def get_answer(data, sock):
global db, online_users
actions = {"LG": lambda *x: db.login(sock, *x),
}
param = json.loads(data[3:])
param = [str(x) if type(x) == unicode else x for x in param]
return json.dumps(actions[data[:2]](*param))
@staticmethod
def add_online_user(socket, username):
global online_users
if socket not in online_users:
online_users.update({socket: username})
print str(socket.getsockname()) + "is now login as: " + username
db = DBManager.DataManager()
DBManager.py
代码:import Server
class DataManager:
def login(self, sock, username, password):
# doing someting...
if approved:
Server.add_online_user(sock, username)
return True
return False
如何避免这种循环导入?看来我一个人解决不了
目前没有回答
相关问题 更多 >
编程相关推荐