Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下

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文件

FTP.quit()与FTP.close()的区别

FTP.quit():发送QUIT命令给服务器并关闭掉连接。这是一个比较“缓和”的关闭连接方式,但是如果服务器对QUIT命令返回错误时,会抛出异常。

FTP.close():单方面的关闭掉连接,不应该用在已经关闭的连接之后,例如不应用在FTP.quit()之后

# coding: utf-8

from ftplib import FTP

import time

import tarfile

import os

# !/usr/bin/python

# -*- coding: utf-8 -*-

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

#从ftp下载文件

def downloadfile(ftp, remotepath, localpath):

bufsize = 1024

fp = open(localpath, 'wb')

ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize)

ftp.set_debuglevel(0)

fp.close()

#从本地上传文件到ftp

def uploadfile(ftp, remotepath, localpath):

bufsize = 1024

fp = open(localpath, 'rb')

ftp.storbinary('STOR ' + remotepath, fp, bufsize)

ftp.set_debuglevel(0)

fp.close()

if __name__ == "__main__":

ftp = ftpconnect("113.105.139.xxx", "ftp***", "Guest***")

downloadfile(ftp, "Faint.mp4", "C:/Users/Administrator/Desktop/test.mp4")

#调用本地播放器播放下载的视频

os.system('start "C:\Program Files\Windows Media Player\wmplayer.exe" "C:/Users/Administrator/Desktop/test.mp4"')

uploadfile(ftp, "C:/Users/Administrator/Desktop/test.mp4", "test.mp4")

ftp.quit()

python ftp模块_python中的FTP文件模块相关推荐

  1. python zipfile教程_Python中zipfile压缩文件模块的基本使用教程

    zipfile Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作. f=zipfile.ZipFile("test.zip",mode="&q ...

  2. python解析html xml最好的模块_python中处理xml的模块哪个好?

    python中可以使用BeautifulSoup4或pyQuery模块处理xml文件.pyQuery模块比较适合于对CSS选择器等的支持,BeautifulSoup4模块使用简单. Beautiful ...

  3. python 包和模块_Python中的包和模块实例

    一.实例和结果 1)实例的结构和具体的文件: PyPackage │ PyCommonM.py │ __init__.py │ ├─p1Package │ P1M.py │ P1MC.py │ __i ...

  4. python包的init文件_Python模块包中__init__.py文件功能分析

    本文实例讲述了Python模块包中__init__.py文件功能.分享给大家供大家参考,具体如下: 用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的 ...

  5. python modbus类封装_Python 中引入一个文件,模块的概念

    Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块. 通过这些强大的模块可以极大地提高开 ...

  6. python os 文件锁_python 中给文件加锁——fcntl模块

    如果没有fcntl模块则用 sudo pip install fcntl安装 模块简单说明: 打开文件,不存在则创建之 f = open('./test','w') fcntl.flock(f,fcn ...

  7. python中dom模块_Python中使用dom模块生成XML文件示例

    在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件. 在生成XML文件中,我们主 ...

  8. python io模块_python中的StringIO模块

    原博文 2015-10-23 15:21 − # python中的StringIO模块 标签:python StringIO --- > 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的, ...

  9. python中sys用法_python中os和sys模块的区别与常用方法总结

    python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...

最新文章

  1. 一文让你完全弄懂回归问题、激活函数、梯度下降和神经元模型实战《繁凡的深度学习笔记》第 2 章 回归问题与神经元模型(DL笔记整理系列)
  2. 逻辑回归 logistic regression
  3. FBI发警告:留意联网汽车被黑客攻击风险
  4. if语句的一个错误记录,多了个“;”号
  5. 小米鼠标垫功能奇异 价格也不贵
  6. (52)多路时钟复用FPGA如何约束一(片外时钟复用约束)
  7. html表单自动编号,自动编号插件
  8. Netty学习总结(6)——Netty使用注意事项
  9. eclipse android 服务端,Eclipse搭建服务器,实现与Android的简单通信
  10. java smtp服务器,用Java实现SMTP服务器
  11. 中国古代亲属称谓家谱总览
  12. linux 浮点异常,浮点数学函数异常处理方法
  13. 使用scrapy刷博客访问量(傻瓜式)
  14. Acwing-4645. 选数异或
  15. EN 12101-8:2011烟雾和热量控制系统防烟挡板—CE认证
  16. Navicat外键设置
  17. Android SELinux开发入门指南之正确姿势解决访问data目录权限问题
  18. 【机器学习】采用信息增益、信息增益率、基尼指数来建造决策树。
  19. Contrastive Learning(对比学习,MoCo,SimCLR,BYOL,SimSiam,SimCSE)
  20. LMK、ZMK、TMK、ZAK等密钥对照表

热门文章

  1. Dubbo服务引用原理
  2. jQuery的事件方法
  3. ai如何置入_AI基础教程51:文字(一)文本的置入与导出
  4. 功能内聚C语言例子,为每种类型的模块内聚举一个具体的例子
  5. 为什么牛逼的程序员都不用 “ ! = null 做判空?
  6. 装饰者设计模式,简单代码实现
  7. Android新控件RecyclerView浅析及上拉和下拉刷新
  8. Android JNI的第一步——从HelloWorld开始
  9. Spring如何实现统一的基于请求头header或url的接口版本控制
  10. 网工协议基础(4)TCP/UDP协议