Python连载54-FTP编程
一、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编程的更多相关文章
- Python连载51-网络编程基础知识
一.网络编程 1.网络.网络协议(一套规则) 2.网络模型: (1)七层模型-七层 物理层(比如网线.锚).数据链路层(比如电压电流).网络层.传输层.会话层.表示层.应用层(我们的活动基本都在这一层 ...
- Python连载53-UDP、TCP、FTP编程实例
一.服务器程序要求永远运行,一般用死循环来处理 1.服务器改造版本V03(主程序 原封不动,这里只修改了运行的程序) if __name__ == "__main__": whil ...
- 【循序渐进学Python】15.网络编程
Python 内置封装了很多常见的网络协议的库,因此Python成为了一个强大的网络编程工具,这里是对Python的网络方面编程的一个简单描述. 1. 常用的网络设计模块 在标准库中有很多网络设计相关 ...
- Python中的并发编程
简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...
- python学习_数据处理编程实例(二)
在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...
- 第六篇:python高级之网络编程
python高级之网络编程 python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...
- web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架
基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- python基础之socket编程 (转自林海峰老师)
python基础之socket编程 阅读目录 一 客户端/服务器架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 ...
- 【Python学习 】Python实现的FTP上传和下载功能
一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftp ...
- Python 四大主流 Web 编程框架
Python 四大主流 Web 编程框架 目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架 ...
随机推荐
- 【重温基础】JS中的常用高阶函数介绍
Ps. 晚上加班到快十点,回来赶紧整理整理这篇文章,今天老大给我推荐了一篇文章,我从写技术博客中收获到了什么?- J_Knight_,感受也是很多,自己也需要慢慢养成记录博客的习惯,即使起步艰难,难以 ...
- JMeter之SteppingShape
1.背景 其实是这样的,最近包括以前都有同事问过宝路一个问题:JMeter测试计划中涉及到梯度压测时,整个测试计划执行完毕,聚合报告看的是整体的结果啊!并不能直观看到每个梯度下的吞吐量的值(虽然可以通 ...
- 4种MySQL分页查询优化的方法,你知道几个?
前言 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点.下面简单说一下我知道的 ...
- C语言程序设计-现代方法(笔记1)
第一章 C语言概述 1.C语言的历史(1.1) 起源:贝尔实验室开发的UNIX操作系统的副产品.标准化:C89和C99.基于C的语言:C++,Java,C#,Perl. 2.C语言的优缺点(1.2) ...
- Ansible自动化部署入门到进阶笔记
目录 一.基本部署 安装Ansible Ansible配置文件 定义Inventory 使用秘钥方式连接 使用帮助 Ansible命令应用基础 二.常见模块 三.Ansible playbook 四. ...
- Cannot read property 'createElement' of undefined
场景: 架构:React+TS+DVA 具体场景: 在将之前后缀为jsx的组件转化为tsx后缀的组件时,抛出Cannot read property 'createElement' of unde ...
- 基于vue+leaflet+echart的足迹分享评论平台
(其实题目是随便取的,目的只是用来证明Vue+leaflet+springboot技术栈的可行性) 效果 小专栏不支持上传视频?想看的话可以去我的知乎看最新的文章,那个应该可以.在这里 主要功能描述 ...
- SpannableStringBuilder实现图文混排
1.我的后面添加图片 ssb = new SpannableStringBuilder("我的后面添加图片: "); ssb.setSpan(, , Spannable.SPAN_ ...
- 微服务与敏捷开发(Scrum/Kanban)的核心思想之我见
微服务与敏捷开发(Scrum/Kanban)的核心思想之我见 关于"微服务"和"敏捷开发"的文章网络上有很多,所以这里不再重复叙述这些概念的解释和特点,而是 ...
- Android Battery 架构【转】
Android Battery 架构 Android电源 android中和电源相关的服务有两个他们在/frameworks/base/services/core/java/com/android/s ...