zoukankan      html  css  js  c++  java
  • python3 ftplib模块连接FTP

    from ftplib import FTP_TLS
    import os
    import re
    
    
    class MyFtp(FTP_TLS):
        """继承FTP类"""
        def dirs(self, *args):
            """my dirs"""
            self.encoding = 'GB18030'
            cmd = 'LIST'
            if args[-1:] and not isinstance(args[-1], str):
                args, func = args[:-1], args[-1]
            for arg in args:
                if arg:
                    cmd = cmd + (' ' + arg)
            files = []
            self.retrlines(cmd, files.append)
            l_files = [file.split(" ")[-1] for file in files]
            return [file for file in l_files if file != "." and file != ".."]
    ftps = MyFtp()
    # ftps.set_debuglevel(2)
    ftps.connect("172.25.22.1",21)           #FTP服务IP和端口
    ftps.login("user","123456")              #FTP用户密码
    ftps.prot_p()                            #继承了MyFtp类中的prot_p方法,目的是为了解决某些开启了安全SSL/TSL而连接不上的问题
    ftps.set_pasv(1)                         #pasv(1)为被动模式,pasv(0为主动模式)
    ftps.encoding = 'GB18030'                #防止中文乱码
    ftps.retrlines('LIST')
    # a = ftps.dirs("/")
    # print(a)
    ftps.close()

    也可以用更简单的方法:

    import os
    import re
    import ftplib
    ftps = ftplib.FTP_TLS()
    ftps.connect("172.25.22.1",21)
    ftps.login("user","123456")
    ftps.prot_p()
    ftps.encoding="GB18030"
    ftps.retrlines('LIST')
    ftps.close()
    

    取出路径下的文件名

    import os
    import re
    import ftplib
    ftps = ftplib.FTP_TLS()
    ftps.connect("172.25.22.1",21)
    ftps.login("user","123456")
    ftps.prot_p()
    ftps.encoding="GB18030"
    ftps.retrlines('LIST')
    ftps.close()
    f1 = []
    for file in files:
        a = re.split("[ ]+",file)
        f1.append(' '.join(a[8:]))
    print(f1)
    ftps.close()
    
  • 相关阅读:
    Java 反射机制分析指南
    git将本地代码提交到远程仓库
    git提交本地分支到远程分支
    git分支branch合并到主分支master
    git分支学习笔记2-解决合并的冲突
    MySQL EXPLAIN 详解
    MySQL show processlist说明
    MySQL ibdata1文件太大的解决办法
    Linux如何安装PHPMyAdmin
    Linux-makefile命令后面的-j4 -j8是什么意思?
  • 原文地址:https://www.cnblogs.com/yizhipanghu/p/14261997.html
Copyright © 2011-2022 走看看