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()

python3 ftplib模块连接FTP的更多相关文章

  1. python使用ftplib模块实现FTP文件的上传下载

    python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...

  2. Python ftplib 模块关于 ftp的下载

    import ftplib import os import socket import sys HOST='192.168.216.193' DIRN='c:\\ftp\FTP.123' FILE= ...

  3. 关于Python, ftplib模块中的cwd()进入含中文目录失败的问题

    使用Python的ftplib模块连接ftp服务器时, 使用cwd()连接含中文的目录, 报错 : UnicodeEncodeError: 'latin-1' codec can't encode c ...

  4. python ftplib模块使用

    Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件. ftplib模块常用方法 ftp登陆连接 from ftplib import FTP #加 ...

  5. ftplib模块编写简单的ftp服务

    from ftplib import * import os,readline import sys class MyFtp: ftp = FTP() #建立一个ftp对象的链接 '): #构造函数初 ...

  6. ftplib模块

    Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...

  7. Python之ftplib模块

    一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho ...

  8. Python ftplib模块

    Python ftplib模块 官方文档:https://docs.python.org/3/library/ftplib.html?highlight=ftplib#module-ftplib 实例 ...

  9. ftplib模块【python】

    转自:http://www.cnblogs.com/kaituorensheng/p/4480512.html 函数释义 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实 ...

随机推荐

  1. 消息中间件-ActiveMQ支持的消息协议

    package com.study.mq.a1_example.helloworld.queue; import org.apache.activemq.ActiveMQConnectionFacto ...

  2. Spring Boot自动配置原理

    使用Spring Boot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这 是如何做到的? 一切魔力的开始,都是从我们的main函数来的,所以我们再次来 ...

  3. Mybatis的多表操作

    1.Mybatis多表查询 1.1 一对一查询 1.1.1 一对一查询的模型MapperScannerConfigurer 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一 ...

  4. 字符串转成KB,MB, GB

    import java.text.DecimalFormat; public class SizeUtil { public static String GetImageSize(String ima ...

  5. aws 通过eksctl 创建eks

    主要需要参考: https://eksctl.io/ https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/getting-started-ek ...

  6. 硬件篇-04-SLAM移动底盘机械设计

    这篇比较水,发出来主要是为了呼应专栏主题,既然是实现,那各个方面都得讲一下不是.   底盘SW模型   淘的,主要是看上了它有弹簧阻尼器,适合野外,抗震,但是这种底盘结构转向起来比较吃力.是再有个全轮 ...

  7. 1669 DINIC+二分

    题意:       给你一些名单,和每个名单可以放在哪个分组里,现在要求你把所有的人都分到一个他属于的分组(之一),然后问你分组中最多的那个人数最少是多少... 思路:      二分最多的最少,然后 ...

  8. dex文件格式学习

    一.dex文件的生成 我们可以通过java文件来生成一个简单的dex文件 编译过程: 首先编写java代码如下: (1) 编译成 java class 文件 执行命令 : javac Hello.ja ...

  9. WAF、流控设备、堡垒机

    目录 WAF 流控设备 堡垒机 WAF WAF(Web Application Firewall):web防火墙,WAF是通过执行一系列针对HTTP/HTTPS的安全策略来专门对web应用提供保护的一 ...

  10. CVE-2013-1347:Microsoft IE CGenericElement UAF 漏洞利用样本分析

    CVE-2013-1347 漏洞是典型的 IE 浏览器 UAF 漏洞,所以其利用方法和一般的 IE 浏览器漏洞的利用方法非常相似,所以流程大体上可以分为这些步骤:(1) 对象被释放 (2) 精确覆盖被 ...