python ftplib bufsize_python:ftplib模块
from ftplib import FTP #加载ftp模块
ftp=FTP() #设置变量
ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
ftp.set_pasv(0) #0主动模式 1 #被动模式
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.dir() #显示目录下文件信息
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) #上传目标文件
ps:以下代码来自《征服python-语言基础于典型应用》
import string
from ftplib import FTP # 从ftplib模块中导入FTP
bufsize = 1024 # 设置缓冲区大小
def Get(filename): # 下载文件
command = 'RETR ' + filename
ftp.retrbinary(command, open(filename,'wb').write, bufsize)
print '下载成功'
def Put(filename): # 上传文件
command = 'STOR ' + filename
filehandler = open(filename,'rb')
ftp.storbinary(command,filehandler,bufsize)
filehandler.close()
print '上传成功'
def PWD(): # 获取当前目录
print ftp.pwd()
def Size(filename): # 获取文件大小
print ftp.size(filename)
def Help(): # 输出帮助
print '''
==================================
Simple Python FTP
==================================
cd 进入文件夹
delete 删除文件
dir 获取当前文件列表
get 下载文件
help 帮助
mkdir 创建文件夹
put 上传文件
pwd 获取当前目录
rename 重命名文件
rmdir 删除文件夹
size 获取文件大小
'''
server = raw_input('请输入FTP服务器地址:') # 获取服务器地址
Help()
ftp = FTP(server) # 连接到服务器地址
username = raw_input('请输入用户名:') # 获取用户名
password = raw_input('请输入密码:')# 获取密码
ftp.login(username,password) # 登录FTP
print ftp.getwelcome()# 获取欢迎信息
# 命令与对应的函数字典
actions = {'dir':ftp.dir, 'pwd': PWD, 'cd':ftp.cwd, 'get':Get,
'put':Put, 'help':Help, 'rmdir': ftp.rmd,
'mkdir': ftp.mkd, 'delete':ftp.delete,
'size':Size, 'rename':ftp.rename}
while True: # 命令循环
print 'pyftp>', # 输出提示符
cmds = raw_input() # 获取输入
cmd = string.split(cmds) # 将输入按空格分割
try: # 异常处理
if len(cmd) == 1: # 判断命令是否有参数
if string.lower(cmd[0]) == 'quit': # 如果命令为quit则退出循环
break
else:
actions[string.lower(cmd[0])]() # 调用与命令对应的函数
elif len(cmd) == 2: # 处理命令有一个参数的情况
actions[string.lower(cmd[0])](cmd[1]) # 调用与命令对应的函数
elif len(cmd) == 3: # 处理命令有两个参数的情况
actions[string.lower(cmd[0])](cmd[1],cmd[2]) # 调用与命令对应的函数
else:
print '输入错误'
except:
print '命令出错'
ftp.quit() # 端口连接退出
python ftplib bufsize_python:ftplib模块相关推荐
- python文件传输模块ftplib模块的使用
python文件传输模块ftplib模块的使用 文章目录: 一.ftplib介绍 1.ftplib的简单介绍 2.ftp的API说明 1)ftp登陆连接 2)ftp相关命令操作 二.ftplib实例说 ...
- python ftplib_python:使用ftplib编写FTP客户端
Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...
- Python实战之logging模块使用详解
用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...
- 【廖雪峰python进阶笔记】模块
1. 导入模块 要使用一个模块,我们必须首先导入该模块.Python使用import语句导入一个模块.例如,导入系统自带的模块 math: import math 你可以认为math就是一个指向已导入 ...
- Python标准库queue模块原理浅析
Python标准库queue模块原理浅析 本文环境python3.5.2 queue模块的实现思路 作为一个线程安全的队列模块,该模块提供了线程安全的一个队列,该队列底层的实现基于Python线程th ...
- Python标准库threading模块Condition原理浅析
Python标准库threading模块Condition原理浅析 本文环境python3.5.2 threading模块Condition的实现思路 在Python的多线程实现过程中,在Linux平 ...
- Python标准库asyncio模块基本原理浅析
Python标准库asyncio模块基本原理浅析 本文环境python3.7.0 asyncio模块的实现思路 当前编程语言都开始在语言层面上,开始简化对异步程序的编程过程,其中Python中也开始了 ...
- python之堆heapq模块
python之堆heapq模块 堆是一种特殊的树形结构,通常我们所说的堆的数据结构指的是完全二叉树,并且根节点的值小于等于该节点所有子节点的值. 堆是非线性的树形的数据结构,有两种堆,最大堆与最小堆. ...
- python自定义包或模块在Linux服务器导入错误的解决办法
python自定义包或模块在Linux服务器导入错误的解决办法 在本地机器上跑python代码,自己定义的文件进行导包运行是没有问题,但是放到linux服务器上的时候就会提示 ImportError: ...
最新文章
- 【采用】互联网金融风控模型的设计
- [ATF]-ATF启动--BL31跳转到optee和uboot
- html select选择事件_用 Java 拿下 HTML,分分钟写个小爬虫
- 改变openssl的环境变量linux,ECS Linux 安装配置openssl的具体过程
- 初中生学计算机网络应用怎么样,初中生读计算机网络技术专业怎么样?小编解答...
- Mssql 跨域查询
- bigdecimal 保留两位小数_openpyxl修改单元格格式(隐藏小数、设定百分数位数)...
- Source Insight 生成函数调用关系图
- IBM计划收购Resilient Systems以扩大安全事件响应能力
- 数据库(基础SQL)
- 弹性法计算方法的mck法_经济学原理中讲到的中点法计算需求弹性是怎么回事
- 读取图像数据:通过append方法
- 并查集:A bug's life
- 服务器硬盘和普通硬盘驱动安装,固态硬盘与硬盘驱动器的区别及怎样选择
- Vue3+Naive踩坑
- JAVA实现:居民电费阶梯式计价器
- 数据挖掘(2.4)--数据归约和变换
- pdfviewpager_Android客户端实现查阅PDF文件功能
- 又涨了?2021年4月程序员工资新鲜出炉!
- 读书笔记:《谁说菜鸟不会数据分析-入门篇》第1-4章
热门文章
- jQuery中的.bind()、.live()和.delegate()之间区别分析,学习jquery
- Apache/Tomcat/JBOSS/Nginx(2)
- Private Inheritance(what, where)
- tickcount()修改成小时分钟_银行核心系统24小时机制实现总结
- Java并发编程之堵塞队列介绍以及SkipList(跳表)
- scala apply方法 笔记
- java 顺序栈_Java实现顺序栈
- oracle 分组_大数据分组怎样才会更快
- Java PipedInputStream available()方法与示例
- ctype函数_PHP ctype_cntrl()函数与示例