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()
python3 ftplib模块连接FTP的更多相关文章
- python使用ftplib模块实现FTP文件的上传下载
python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...
- Python ftplib 模块关于 ftp的下载
import ftplib import os import socket import sys HOST='192.168.216.193' DIRN='c:\\ftp\FTP.123' FILE= ...
- 关于Python, ftplib模块中的cwd()进入含中文目录失败的问题
使用Python的ftplib模块连接ftp服务器时, 使用cwd()连接含中文的目录, 报错 : UnicodeEncodeError: 'latin-1' codec can't encode c ...
- python ftplib模块使用
Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件. ftplib模块常用方法 ftp登陆连接 from ftplib import FTP #加 ...
- ftplib模块编写简单的ftp服务
from ftplib import * import os,readline import sys class MyFtp: ftp = FTP() #建立一个ftp对象的链接 '): #构造函数初 ...
- ftplib模块
Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...
- Python之ftplib模块
一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho ...
- Python ftplib模块
Python ftplib模块 官方文档:https://docs.python.org/3/library/ftplib.html?highlight=ftplib#module-ftplib 实例 ...
- ftplib模块【python】
转自:http://www.cnblogs.com/kaituorensheng/p/4480512.html 函数释义 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实 ...
随机推荐
- (十一)struts2的未知处理器
从struts2.1开始,struts2增加了未知处理器. 当用户请求未知Action,或指定Action里的未知方法,或Action处理结束后返回一个未知的result.struts2允许使用未知处 ...
- Day11_51_Collections工具类之sort方法和list集合的遍历方式
Collections工具类之sort方法 * 使用Collections工具类对List集合进行排序 Collections.sort(List集合) * Collections.sort()方法只 ...
- 面试有关TCP常问的几个问题
在面试中网络问题是一定会考察的,而TCP协议则是考察网络知识的重点.经常会被问道的问题如下: 请讲一下TCP协议建立连接的过程 请介绍TCP协议中的三次握手和四次挥手是怎么样的 为什么TCP协议要三次 ...
- 基于MATLAB的手写公式识别(6)
基于MATLAB的手写公式识别 2021-03-29 10:24:51 走通了程序,可以识别"心脑血管这几个字",还有很多不懂的地方. 2021-03-29 12:20:01 tw ...
- Vue学习(三)-Vue-router路由的简单使用
一.Vue-Router环境的安装: 如果使用vue-cli脚手架搭建,项目创建过程中会提示你自否选择使用vue-router,选择使用即可, 二.路由学习 1.路由的配置 vue-cli项目自 ...
- POJ2406简单KMP
题意: 给一个字符串,求最大的前缀循环周期,就是最小的循环节对应的最大的那个周期. 思路: KMP的简单应用,求完next数组后有这样的应用:next[i] :是最大循环节的第几位 ...
- 文件描述符fd
java 后台运行程序命令 nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 & 命令解释:后台启动 ...
- MyBatis Plus 实现多表分页模糊查询
项目中使用springboot+mybatis-plus来实现. 但是之前处理的时候都是一个功能,比如分页查询,条件查询,模糊查询. 这次将这个几个功能合起来就有点头疼,写下这边博客来记录自己碰到的问 ...
- android手势识别
一.简单手势识别: 简单手势识别分为以下几个步骤: 1.手指触碰屏幕时,触发MotionEvent事件: 2.该事件被OnTouchListener监听,可在它的onTouch()方法中获得该Moti ...
- layui select 动态赋值
出现问题 赋值完成后页面不显示,没有效果 发现问题 赋值完成后需要重新渲染select 解决问题 form.render('select');