python3_ftp文件传输
Python中的ftplib模块
Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件
FTP的工作流程及基本操作可参考协议RFC959
ftp登陆连接
from ftplib import FTP #加载ftp模块
- ftp=FTP() #设置变量
- ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
- ftp.connect("IP","port") #连接的ftp sever和端口
- ftp.login("user","password")#连接的用户名,密码
- print ftp.getwelcome() #打印出欢迎信息
- ftp.cmd("xxx/xxx") #更改远程目录
- bufsize=1024 #设置的缓冲区大小
- filename="filename.txt" #需要下载的文件
- file_handle=open(filename,"wb").write #以写模式在本地打开文件
- ftp.retrbinaly("RETR filename.txt",file_handle,bufsize) #接收服务器上文件并写入本地文件
- ftp.set_debuglevel(0) #关闭调试模式
- ftp.quit #退出ftp
ftp相关命令操作
- ftp.cwd(pathname) #设置FTP当前操作的路径
- ftp.dir() #显示目录下文件信息
- ftp.nlst() #获取目录下的文件
- ftp.mkd(pathname) #新建远程目录
- ftp.pwd() #返回当前所在位置
- ftp.rmd(dirname) #删除远程目录
- ftp.delete(filename) #删除远程文件
- ftp.rename(fromname, toname)#将fromname修改名称为toname。
- ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上传目标文件
- ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下载FTP文件
from ftplib import FTP def ftpconnect(host, username, password):
ftp = FTP()
ftp.set_debuglevel(2)
ftp.connect(host, 21)
ftp.login(username, password)
return ftp def downloadfile(ftp, remotepath, localpath):
# 从ftp下载文件
bufsize = 1024
fp = open(localpath, 'wb')
ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize)
ftp.set_debuglevel(0)
fp.close() def uploadfile(ftp, localpath, remotepath):
# 从本地上传文件到ftp
bufsize = 1024
fp = open(localpath, 'rb')
ftp.storbinary('STOR ' + remotepath, fp, bufsize)
ftp.set_debuglevel(0)
fp.close() if __name__ == "__main__":
ftp = ftpconnect("10.1.2.254", "download", "download")
uploadfile(ftp, "/home/rxf/other/PlatServerTest/2.jpg", "D:/download/Ranxiangfei/2.jpg")
downloadfile(ftp, "D:/download/Ranxiangfei/svn/V2.0.xxx.171030_Alpha/xzrs.tar.gz",
"/home/rxf/svn/V2.0.xxx.171030_Alpha/xzrs.tar.gz") ftp.quit()
python3_ftp文件传输的更多相关文章
- Linux主机上实现树莓派的交叉编译及文件传输,远程登陆
0.环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS:官网下的的raspb ...
- putty提供的两个文件传输工具PSCP、PSFTP详细介绍
用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH ...
- c# 局域网文件传输实例
一个基于c#的点对点局域网文件传输小案例,运行效果截图 //界面窗体 using System;using System.Collections.Generic;using System.Compon ...
- 使用 zssh 进行 Zmodem 文件传输
Zmodem 最早是设计用来在串行连接(uart.rs232.rs485)上进行数据传输的,比如,在 minicom 下,我们就可以方便的用 Zmodem (说 sz .rz 可能大家更熟悉)传输文件 ...
- 在windows 与Linux间实现文件传输(C++&C实现)
要实现windows与linux间的文件传输,可以通过socket网络编程来实现. 这次要实现的功能与<Windows下通过socket进行字符串和文件传输>中实现的功能相同,即客户端首先 ...
- Windows下通过socket进行字符串和文件传输
今天在windows平台下,通过socket实现了简单的文件传输.通过实现这一功能,了解基本的windows网络编程和相关函数的使用方法. 在windows平台上进行网络编程,首先都需要调用函数WSA ...
- Linux下几种文件传输命令 sz rz sftp scp
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- 艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(四)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开源,作者是英国的,开发时间5年多,框架很稳定. 项 ...
- 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...
随机推荐
- ios开发之 --调用系统的页面,显示中文
在开发的过程中,我们会接入很多的sdk,比如相机,相册,是否允许获取位置等,大多数的情况下是默认显示英文, 在plist文件里面添加一个key就可以了,如下图: key:Localization na ...
- Oracle中select使用别名
1 .将字段用as转换成别名. 2 .直接在字段的名字后面跟别名. 3 .在字段后面用双引号引起的别名. 我的朋友 大鬼不动 最近访客 fhwlj kochiyas 大極星 Alz__ deser ...
- 获取UIWebView的内容高度
本文转载至 http://i.cnblogs.com/EditPosts.aspx?opt=1 #pragma mark - UIWebview delegete - (void)webViewD ...
- php做图片上传功能
今天来做一个图片上传功能的插件,首先做一个html文件:text.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition ...
- c++11 类型推断
自动类型推断 当编译器能够在一个变量的声明时候就推断出它的类型,那么你就能够用auto关键字来作为他们的类型: auto x = 1; 编译器当然知道x是integer类型的.所以你就不用int了.接 ...
- 在centos linux上安装jdk7
在这里下载jdk7rpm安装包,并上传到centos服务器上http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7- ...
- 转载 Mixed Content Page
网站配置了https之后,网页上的百度地图无法正常显示,报错类似于: Mixed Content: The page at 'https://url_1' was loaded over HTTPS, ...
- maven引用本地jar包
教程:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 安装 到下载maven: http://maven.apache. ...
- HDU_5536_Chip Factory
Chip Factory Time Limit: 18000/9000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)T ...
- django-vue之信息过滤(过滤课程)
一 vue前端代码 实现的内容,通过对课程的分类,在每个不同的课程分类下显示相应的内容 <template> <div class="course"> & ...