python使用ftplib模块实现FTP文件的上传下载
python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载
FTP文件上传下载
# coding:utf8
from ftplib import FTP def upload(f, remote_path, local_path):
fp = open(local_path, "rb")
buf_size = 1024
f.storbinary("STOR {}".format(remote_path), fp, buf_size)
fp.close() def download(f, remote_path, local_path):
fp = open(local_path, "wb")
buf_size = 1024
f.retrbinary('RETR {}'.format(remote_path), fp.write, buf_size)
fp.close() if __name__ == "__main__":
ftp = FTP()
ftp.connect("x.x.x.x", 21) # 第一个参数可以是ftp服务器的ip或者域名,第二个参数为ftp服务器的连接端口,默认为21
ftp.login(username, password) # 匿名登录直接使用ftp.login()
ftp.cwd("tmp") # 切换到tmp目录
upload(ftp, "ftp_a.txt", "a.txt") # 将当前目录下的a.txt文件上传到ftp服务器的tmp目录,命名为ftp_a.txt
download(ftp, "ftp_a.txt", "b.txt") # 将ftp服务器tmp目录下的ftp_a.txt文件下载到当前目录,命名为b.txt
ftp.quit()
FTP对象常用方法
ftp.cwd(path) 设置FTP当前操作的路径,同linux中的cd
ftp.dir() 显示目录下所有信息
ftp.nlst() 获取目录下的文件,显示的是文件名列表
ftp.mkd(directory) 新建远程目录
ftp.rmd(directory) 删除远程目录
ftp.rename(old, new) 将远程文件old重命名为new
ftp.delete(file_name) 删除远程文件
ftp.storbinary(cmd, fp, bufsize) 上传文件,cmd是一个存储命令,可以为"STOR filename.txt", fp为类文件对象(有read方法),bufsize设置缓冲大小
ftp.retrbinary(cmd, callback, bufsize) 下载文件,cmd是一个获取命令,可以为"RETR filename.txt", callback是一个回调函数,用于读取获取到的数据块
python使用ftplib模块实现FTP文件的上传下载的更多相关文章
- java实现ftp文件的上传与下载
		
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
 - 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载
		
文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...
 - 创建FTP的Site并用C#进行文件的上传下载
		
创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...
 - linux链接及文件互相上传下载
		
若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...
 - Spring实现文件的上传下载
		
背景:之前一直做的是数据库的增删改查工作,对于文件的上传下载比较排斥,今天研究了下具体的实现,发现其实是很简单.此处不仅要实现单文件的上传,还要实现多文件的上传. 单文件的下载知道了,多文件的下载呢? ...
 - SocketIo+SpringMvc实现文件的上传下载
		
SocketIo+SpringMvc实现文件的上传下载 socketIo不仅可以用来做聊天工具,也可以实现局域网(当然你如果有外网也可用外网)内实现文件的上传和下载,下面是代码的效果演示: GIT地址 ...
 - JAVAWEB之文件的上传下载
		
文件上传下载 文件上传: 本篇文章使用的文件上传的例子使用的都是原生技术,servelt+jdbc+fileupload插件,这也是笔者的习惯,当接触到某些从未接触过的东西时,总是喜欢用最原始的东西将 ...
 - SSM框架之中如何进行文件的上传下载
		
SSM框架的整合请看我之前的博客:http://www.cnblogs.com/1314wamm/p/6834266.html 现在我们先看如何编写文件的上传下载:你先看你的pom.xml中是否有文件 ...
 - php文件夹上传下载控件分享
		
用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...
 
随机推荐
- gdb x命令使用方法
			
x命令是直接查看指定地址为开头的内存里的内容 既然是要看,就分你想怎么看,和看多少 怎么看: d 按十进制格式显示 x 按十六进制格式显示 a 按十六进制格式显示 u 按十六进制格式显示无符号整型 o ...
 - MNIST手写数字识别进阶:多层神经网络及应用(1)
			
# 一.载入数据 import tensorflow as tf import numpy as np #导入tensorflow提供的读取MNIST的模块 import tensorflow.exa ...
 - python3.5.3rc1学习三:文件操作
			
##全局变量与局部变量x = 6 def printFuc(): y = 8 z =9 print(y + z) print(x) printFuc()#print(y)#常见错误##name = & ...
 - CF1225A Forgetting Things
			
CF1225A Forgetting Things 洛谷评测传送门 题目描述 Kolya is very absent-minded. Today his math teacher asked him ...
 - CF798D Mike and distribution
			
CF798D Mike and distribution 洛谷评测传送门 题目描述 Mike has always been thinking about the harshness of socia ...
 - H5开发 连接蓝牙打印机 打印标签(斑马ZR628)
			
1.连接蓝牙打印机(先用手机自带蓝牙进行配对),然后绑定出已配对的蓝牙设备(用来选择/切换打印机之用),代码如下 已配对蓝牙设备,中显示的就是已连接的,点击一下即可 代码: <!DOCTYPE ...
 - SUDO_KILLER可以帮助你识别并利用错误的Sudo规则与配置
			
工具概述 SUDO_KILLER这款工具可以帮助我们通过多种渠道利用SUDO来在Linux环境下实现提权.该工具能够识别目标操作系统版本,并发现环境中sudo规则的错误配置.安全漏洞,以及不安全的代码 ...
 - 奇安信集团笔试题:二叉树的最近公共祖先(leetcode236),杀死进程(leetcode582)
			
1. 二叉树最近公共祖先 奇安信集团 2020校招 服务端开发-应用开发方向在线考试 编程题|20分2/2 寻祖问宗 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制: ...
 - erlang 资源
			
https://github.com/ninenines https://github.com/drobakowski https://github.com/dizzyd
 - golang基础之初识
			
golang 简介 很久以前,有一个IT公司,这公司有个传统,允许员工拥有20%自由时间来开发实验性项目.在2007的某一天,公司的几个大牛,正在用c++开发一些比较繁琐但是核心的工作,主要包括庞大的 ...