python3 ftplib模块连接FTP
2024-09-06 00:37:15
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()
最新文章
- PG 中 JSON 字段的应用
- PHP定界符使用技巧
- maven中央仓库访问速度太慢的解决办法
- Python:dict用法
- SAAS在中国市场的发展前景
- 黑马程序员——JAVA基础之装饰设计模式
- JSP 九个隐含JSP对象
- 2016PHP开发者大会
- iOS应用内HTTP服务上传文件
- UVA 12436-Rip Van Winkle's Code(线段树的区间更新)
- LINQ中的Aggregate用法总结
- angr进阶(6)绕过反调试
- [转]MYSQL 创建存储过程
- 用spring的@Scheduled实现定时任务
- Build 2017 Revisited: .NET, XAML, Visual Studio
- java面向对象编程(三)--this
- Jlink使用技巧之烧写SPI Flash存储芯片
- MyBatis学习之多表查询
- Xshell 6 免费版本安装过程
- Coursera-AndrewNg(吴恩达)机器学习笔记——第二周编程作业(线性回归)