python2.7访问对象(oop相关)

2024-06-02 10:20:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还不熟悉。在my main.py中,我定义了以下代码来使用library启动本地FTP服务器

authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/home", perm="elradfmw")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("127.0.0.1", 21), handler)
server.serve_forever()

然后我创建了一个名为modules的新文件夹,其中包含一个名为GameServer的类。在这个类gameserver中,我定义了一个方法(static)来删除ftpaccess(username)。现在如何使用main.py中定义的FTP服务器调用此方法

我的文件结构:

main.py
   modules
     gameserver.py

游戏服务器.py

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

class GameServer ():

    def __init__(self, id, ip_address, port):
        self.id             = id
        self.ip_address     = ip_address
        self.port           = port

    @staticmethod
    def deleteServer(id):
        #delete FTP access
        authorizer = DummyAuthorizer()
        authorizer.remove_user(id)

主.py

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from modules.gameserver import GameServer

authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/home", perm="elradfmw")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("127.0.0.1", 21), handler)
server.serve_forever()

GameServer.deleteServer("user")

当删除服务器时,它不会影响FTP,这意味着我可以在删除后使用用户名访问服务器。在我看来,这个用法是错误的


Tags: frompyimport服务器idserverftphandler