美文网首页Python
pyftpdlib:轻量快速的python ftp库

pyftpdlib:轻量快速的python ftp库

作者: pcliuyang | 来源:发表于2016-07-03 19:48 被阅读1088次

    pyftpdlib:轻量快速的python ftp库


    通常linux都是用vsftp,pureftp来搭建ftp程序,但配置复杂。

    如果只是临时使用ftp服务器,可以用python的 pyftpdlib库

    地址

    https://github.com/giampaolo/pyftpdlib


    1.安装

    pip install pyftpdlib
    

    2.示例程序

    from pyftpdlib.authorizers import DummyAuthorizer
    from pyftpdlib.handlers import FTPHandler
    from pyftpdlib.servers import FTPServer
    
    def main():
        # Instantiate a dummy authorizer for managing 'virtual' users
        authorizer = DummyAuthorizer()
    
        # Define a new user having full r/w permissions and a read-only
        # anonymous user
        authorizer.add_user('user', '12345', '.', perm='elradfmwM')
        authorizer.add_anonymous(os.getcwd())
    
        # Instantiate FTP handler class
        handler = FTPHandler
        handler.authorizer = authorizer
    
        # Define a customized banner (string returned when client connects)
        handler.banner = "pyftpdlib based ftpd ready."
    
        # Specify a masquerade address and the range of ports to use for
        # passive connections.  Decomment in case you're behind a NAT.
        #handler.masquerade_address = '151.25.42.11'
        #handler.passive_ports = range(60000, 65535)
    
        # Instantiate FTP server class and listen on 0.0.0.0:2121
        address = ('', 2121)
        server = FTPServer(address, handler)
    
        # set a limit for connections
        server.max_cons = 256
        server.max_cons_per_ip = 5
    
        # start ftp server
        server.serve_forever()
    
    if __name__ == '__main__':
        main()
    

    更多程序请参考
    http://pythonhosted.org/pyftpdlib/tutorial.html

    相关文章

      网友评论

        本文标题:pyftpdlib:轻量快速的python ftp库

        本文链接:https://www.haomeiwen.com/subject/aglcjttx.html