python 专题十 FTP 操作
来源:互联网 发布:java如何实现高并发 编辑:程序博客网 时间:2024/06/01 10:05
下载数据
1> 以ASCII模式下载文件from ftplib import FTP
localfile = open('filename','wt')
f = FTP('remoteADDR')
f.login('username','passwd') #为空表示匿名登录
f.retrlines('RETR remotefile',localfile.write)
以二进制模式下载文件
from ftplib import FTPlocalfile = open('filename','wb')
f = FTP('remoteADDR')
f.login('username','passwd') #为空表示匿名登录
f.retrbinary('RETR remotefile',localfile.write)
以高级二进制模式下载文件
from ftplib import FTPlocalfile = open('filename','wb')
f = FTP('remoteADDR')
f.login('username','passwd') #为空表示匿名登录
f.voidcmd('TYPE I') #表示以映像或二进制的模式传输
datasock,estsize = f.ntransfercmd('RETR remotefile') #返回一个tuple,包括数据的socket和数据的大小
while True:
buf = datasock.recv(2048)
if not buf:
break
localfile.write(buf)
datasock.close()
f.voidresp() #可以获得FTP服务器的响应,如果发现任何错误,就会报错
localfile.close()
上传数据
上传是通过两个基本的函数来实现的:storbinary()和storlines(),这两个基本函数分别调用一个指令,以及一个文件类型的对象来执行,其中storbinary()调用的是该对象的read(),而storlines()调用的是readlines()。这是跟下载函数不一样的,因为在下载中提供的是它本身的函数。以二进制模式上传文件
from ftplib import FTPlocalfile = open('filename','rb')
f = FTP('remoteADDR')
f.login('username','passwd') #为空表示匿名登录
f.storbinary('stor remotefile',localfile)
以文本模式上传文件
from ftplib import FTPlocalfile = open('filename','rt')
f = FTP('remoteADDR')
f.login('username','passwd') #为空表示匿名登录
f.storlines('stor remotefile',localfile)
以高级二进制模式上传
from ftplib import FTPlocalfile = open('filename','rb')
f = FTP('remoteADDR')
f.login('username','passwd') #为空表示匿名登录
f.voidcmd('TYPE I') #表示以映像或二进制的模式传输
datasock,esize = f.ntransfercmd('STOR localfile') #esize值为None,可自行设值
while True:
buf = fd.read(2048)
if not len(buf):
break
datasock.sendall(buf)
datacock.close()
localfile.close()
f.voidresp()
f.quit()
其它的操作
from ftplib import FTPf = FTP('remoteADDR')
f.login('username','passwd')
1> 更改远程目录
f.cwd('remotepath')
2> 删除远程文件
f.delete('remotefile')
3> 删除远程目录(空目录)
f.rmd('remoteDIR')
4> 建立目录
f.mkd('remoteDIR')
5> 移动和重命名文件
f.rename('filename','newfilename')
如果在同一目录内,文件被重命名,如果目标是另外一个目录下的名字,文件被移动。
6> 返回远程目录列表
f.nlst()
7> tuple ftplib.all_errors 能捕捉所有可能发生的错误
- python 专题十 FTP 操作
- 【python FTP】python操作FTP
- 关于python文件操作专题
- 十、python中的文件操作
- Python连接ftp,并对FTP进行操作
- python ftp操作脚本&常用函数
- python使用ftplib做ftp操作
- Python ftp操作之一-------linux vsftp搭建
- Python ftp操作之二-------上传下载
- Python 操作FTP文件,上传下载文件
- python专题
- python 专题六 网络编程 及文件操作
- 轻松python之文件专题-关于行的操作
- ftp操作
- FTP操作
- ftp操作
- Ftp操作
- python ftp
- PHP:6种方法获取文件的扩展名
- Linux--Socket Buffer--Netowrk Devices--Network Drivers
- SQL中的异常处理
- 面试问题归纳
- 一个WordPress站点绑定多个域名
- python 专题十 FTP 操作
- 《程序员的自我修养—链接、装载与库》
- android地图开发出现java.lang.NoClassDefFoundError: MyPositionActivity......异常解决办法
- Linux USB-Wifi Driver 解析
- Hadoop压缩算法不支持自定义的压缩和解压接口
- Guidelines - C++11, 25 of n
- V4L2 pixel format
- 步骤清晰四步在win7下配置Apache虚拟主机
- asp.net 获取服务器时间然后在页面上动态显示时间