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文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...
随机推荐
- iPad替代midi键盘
下载安装rtpMIDI (网络MIDI驱动程序) 打开rtpMIDI,在“My session”那里按下+,就会自动显示你的电脑的名字 检查Bonjour服务正常运行,iPad与pc网络正常连接 iP ...
- 远程控制服务(SSH)之Windows远程登陆Linux主机
本篇blog同样介绍两种方式进行. 首先进行准备工作: 1.所用到的工具如下: (1) 装有Linux系统的VMware虚拟机*1 (2) 终端连接工具Xshell 6 2.将Wind ...
- scanf函数和cin的区别、类的数组、C++排序函数
给定n个字符串,将这n个字符串按照字典序进行排列,此处用排列函数是C++的库函数sort,产生如下两个疑问,望大佬解答 #include <iostream> #include <a ...
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. ...
- 执行flutter doctor后,无任何反应
flutter运行需要联网,并且由于qiang,会导致访问缓慢,解决办法 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_ ...
- 提高python运行效率-numba
Numba是Python的即时编译器,在使用NumPy数组和函数以及循环的代码上效果最佳.使用Numba的最常见方法是通过其装饰器集合,这些装饰器可应用于您的函数以指示Numba对其进行编译.调用Nu ...
- 前端Vue项目——购物车页面
一.加入购物车的两种策略 1.加入购物车接口 在 src/restful/api.js 中写入添加购物车接口: // 加入购物车的接口 export const shopCart = (params) ...
- Asp.Net Core AsyncLocal 异步上下文
引子 阅读以下代码,并尝试分析 代码解析 在主线程中,线程Id为1,为线程变量赋值 变量==d6ff 开启一个新的task,此时线程Id为4,变量==d6ff,并调用Task1 开启一个同步Task3 ...
- LeetCode 752:打开转盘锁 Open the Lock
题目: 你有一个带有四个圆形拨轮的转盘锁.每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' .每个拨轮可以自由旋转:例如把 ' ...
- NPOI 帮助类
NPOI 帮助类 代码实现了来自于互联网 using System; using System.Data; using System.IO; using System.Text; using NPOI ...