一、FTP工作流程

1.客户端链接远程主机上的FTP服务器

2.客户端输入用户名和密码(或者“anonymous”和电子邮件地址)

3.客户端和服务器进行各种文件传输和信息查询操作

4.客户端从远程FTP服务器退出,结束传

二、FTP文件表示

1.分三段表示FTP服务器上的文件

2.HOST:主机地址,类似于ftp.mozilla.org,以ftp开头

3.DIR:目录,表示文件所在本地的地址,例如:pub/andorid/focus/1.1

4.File:文件名称,例如:Klar-1.1-RC1.apk

如果想要完整精确的表示ftp上某一个文件,需要上述三个部分组合在一起

三、网址:http://ftp.mozilla.org/

这是一个ftp的国际服务器

四、举例


import ftplib

import os

import  socket

​

#三部分精确表示ftp服务器上的某一个文件

#好多公开ftp服务器访问会出错或者没有反应

HOST = "ftp.acc.umu.se"

DIR = "Public/EFLIB"

FILE = "README"

​

#1.客户端连接远程主机上的ftp服务器

try:

    f = ftplib.FTP()#建立一个FTP对象

    #通过设置调试级别可以方便调试

    f.set_debuglevel(2)

    #链接主机地址

    f.connect(HOST)

except Exception as e:

    print(e)

    exit()

​

print("***Connected to host {0}".format(HOST))

​

try:

    #登录如果没有输入用户信息,则默认使用匿名登录

    f.cwd(DIR)#更换目录

except Exception as e:

    print(e)

    exit()

print("*** Changed dir to {0}".format(DIR))

​

try:

    #从FTP服务器上下载文件

    #第一个参数是ftp命令

    #第二个参数是回调函数

    #此函数的意思是,执行RETR命令,下载文件到本地之后,运行回调函数

    f.retrbinary("RETR {0}".format(FILE),open(FILE,"wb").write)

except Exception as e:

    print(e)

    exit()

​

#4.客户端从远程FTP服务器退出,结束传输

f.quit()

五、源码

D33_6_FtpExample.py

https://github.com/ruigege66/Python_learning/blob/master/D33_6_FtpExample.py

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Python连载54-FTP编程的更多相关文章

  1. Python连载51-网络编程基础知识

    一.网络编程 1.网络.网络协议(一套规则) 2.网络模型: (1)七层模型-七层 物理层(比如网线.锚).数据链路层(比如电压电流).网络层.传输层.会话层.表示层.应用层(我们的活动基本都在这一层 ...

  2. Python连载53-UDP、TCP、FTP编程实例

    一.服务器程序要求永远运行,一般用死循环来处理 1.服务器改造版本V03(主程序 原封不动,这里只修改了运行的程序) if __name__ == "__main__": whil ...

  3. 【循序渐进学Python】15.网络编程

    Python 内置封装了很多常见的网络协议的库,因此Python成为了一个强大的网络编程工具,这里是对Python的网络方面编程的一个简单描述. 1. 常用的网络设计模块 在标准库中有很多网络设计相关 ...

  4. Python中的并发编程

    简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...

  5. python学习_数据处理编程实例(二)

    在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...

  6. 第六篇:python高级之网络编程

    python高级之网络编程   python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...

  7. web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  8. python基础之socket编程 (转自林海峰老师)

    python基础之socket编程   阅读目录 一 客户端/服务器架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 ...

  9. 【Python学习 】Python实现的FTP上传和下载功能

    一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftp ...

  10. Python 四大主流 Web 编程框架

    Python 四大主流 Web 编程框架 目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架 ...

随机推荐

  1. JS基础-变量类型和类型转换

    JS 变量类型 JS中有 6 种原始值,分别是: boolean number string undefined symbol null 引用类型: 对象 数组 函数 JS中使用typeof能得到哪些 ...

  2. 带你快速了解Java锁中的公平锁与非公平锁

    前言 Java语言中有许多原生线程安全的数据结构,比如ArrayBlockingQueue.CopyOnWriteArrayList.LinkedBlockingQueue,它们线程安全的实现方式并非 ...

  3. jquery查出元素名称

    <div onclick='$(this).prop("tagName")'></div> 最后的结果 DIV

  4. Caffe源码-Net类(下)

    net.cpp部分源码 // 接着上一篇博客的介绍,此部分为Net类中前向反向计算函数,以及一些与HDF5文件或proto文件相互转换的函数. template <typename Dtype& ...

  5. 《大型网站系统与Java中间件》读书笔记(上)

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 这本书买了一段时间了,之前在杭州没带过去,现在读完第 ...

  6. mysql与python的交互

    mysql是一种关系型数据库,是为了表示事物与事物之间的关系,本身存于数据库中的内容意义并不大,所以广泛应用于编程语言中,python中九含有与MySQL交互的模块 pymysql 编程对mysql的 ...

  7. Android 开机充电图标和充电动画

    首先驱动需要先获取到2个power supply kernel\msm-3.18\drivers\usb\phy\phy-msm-usb.c motg->usb_psy.name = " ...

  8. centos基本信息和ssh

    CentOs系统基本配置,包括修改主机名,创建用户并授权,ssh免密登录 1 永久修改主机名 sudo vim /etc/hostname 把原主机名xxx改为master(在从主机上则改为相应的sl ...

  9. css 重点知识 和 bug 解决方法

    1.图片向下撑大3像素问题 在一个盒子里面放一张图片,默认情况下,图片会向下撑大3像素,有以下几种解决方法: 1.1 给图片添加display:block: 1.2 给图片添加 float:left: ...

  10. 【译】ModSecurity

    Preface 本篇译ModSecurity 主页的自身介绍. ModSecurity is an open source, cross-platform web application firewa ...