我的编程空间,编程开发者的网络收藏夹
学习永远不晚

[PYTHON] 核心编程笔记(17.P

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

[PYTHON] 核心编程笔记(17.P

17.1 什么是因特网客户端?


17.2 文件传输


17.2.1 文件传输因特网协议


流行的有文件传输协议(FTP),Unix-to-Unix复制协议(UUCP),以及网页的超文本传


输协议(HTTP),另外,还有(Unix下的)远程文件复制指令scp(以及更安装,更灵活的


scp和rsync)


17.2.2 文件传输协议(FTP)


展示这个协议工作流程如下:

1.客户端连接远程FTP服务器

2.客户端输入用户名和密码(或"anonymous"和e-mail地址)

3.客户端做各种文件传输和信息查询操作

4.客户端登出远程FTP服务器,结束通讯


17.2.3 Python和FTP


流程:

1.连接到服务器

2.登陆

3.发出服务请求(有可能返回信息)

4.退出


from ftplib import FTP


f = FTP('ftp.python.org')

f.login('anonymous','guess@who.org')

.

.

f.quit()


17.2.4 ftplib.FTP类方法


方法描述

login(user='anonymous'

,passwd='',acct='')登陆到FTP服务器,所有的参数都是可选的

pwd()得到当前工作目录

cwd(path)把当前工作目录设置为path

dir([path[,...[,cb]]])显示path目录里的内容,可选参数cb是一个回


调函数,他会被传给retrlines()方法

nlst([path[,...]])与dir()类似,但返回一个文件名的列表,而不


是显示这些文件名

retrlines(cmd) [, cb])给定FTP命令(如"RETR filename").用于下载


文本文件,可选的回调函数cb用于处理文件的


每一行

retrbinary(cmd, cb[, bs=8192[, ra]])

与retrlines()类似,只是这个指令处理二进


制文件,回调函数cb用于处理每一块(块大小


默认8K)下载的数据

storlines(cmd, f)给定FTP命令(如"STOR filename"),以上传文


本文件,要给定一个文件对象f

storbinary(cmd, f[, bs=8192])与storlines()类似,只是这个指令处理二进


制文件,要给定一个文件对象f,上传块大小bs


默认为8kbs=8192

rename(old, new)把远程文件old改名为new

delete(path)删除位于path的远程文件

mkd(directory)创建远程目录

rmd(directory)删除远程目录

quit()关闭连接并退出


17.2.5 交互式FTP示例

注:保证本机开启ftp服务

>>> from ftplib import FTP

>>> f = FTP('localhost')

>>> f.login('test1','12344321')

'230 Login successful.'

>>> f.dir()

-rw-r--r--    1 0        0               0 Dec 20 14:34 1

-rw-r--r--    1 0        0               0 Dec 20 14:34 2

-rw-r--r--    1 0        0               0 Dec 20 14:34 3

-rw-r--r--    1 0        0               0 Dec 20 14:34 4

-rw-r--r--    1 0        0               0 Dec 20 14:34 5

>>> f.quit()

'221 Goodbye.'


17.2.6 客户端FTP程序举例


例,下载网站中最新版本的文件


# vi getLateestFTP.py

---------------------------------------

#!/usr/bin/env python


import ftplib

import os

import socket


HOST = 'ftp.mozilla.org'

DIRN = 'pub/mozilla.org/webtools'

FILE = 'bugzilla-LATEST.tar.gz'



def main():

   try:

       f = ftplib.FTP(HOST)

   except (socket.error, socket.gaierror), e:

       print 'ERROR: cannot reach "%s"' % HOST

       return

   print '*** Connected to host "%s"' % HOST


   try:

       f.login()

   except ftplib.error_perm:

       print 'ERROR: cannot login anonymously'

       f.quit()

       return

   print '*** Logged in as "anonymous"'


   try:

       f.cwd(DIRN)

   except ftplib.error_perm:

       print 'ERROR: connot CD to "%s"' % DIRN

       f.quit()

       return

   print '*** Changed to "%s" folder' % DIRN


   try:

       f.retrbinary('RETR %s' % FILE,open(FILE, 'wb').write)

   except ftplib.error_perm:

       print 'ERROR: connot read file "%s"' % FILE

       os.unlink(FILE)

   else:

       print '*** Downloaded "%s" to CWD' % FILE

       f.quit()

       return


if __name__ == '__main__':

   main()

---------------------------------------


# python getLatestFTP.py

*** Connected to host "ftp.mozilla.org"

*** Logged in as "anonymous"

*** Changed to "pub/mozilla.org/webtools" folder

*** Downloaded "bugzilla-LATEST.tar.gz" to CWD


17.2.7 FTP的其他方面

Python同时支持主动和被动模式


以下是一些典型的FTP客户端类型:


命令行客户端程序

GUI客户端程序

网页浏览器

定制程序


17.3 网络新闻


17.3.1 Usenet 与新闻组


13.3.2 网络新闻传输协议(NNTP)


17.3.3 Python和NNTP


17.3.4 nntplib.NNTP类方法


17.3.5 交互式NNTP举例


17.3.6 客户端程序NNTP举例


17.3.7 NNTP的其他方面


17.4 电子邮件


17.4.1 E-mail系统组件和协议


17.4.2 发送E-mail


要发送e-mail,你的邮件客户端一定要连接到一个MTA(消息传输代理),通过某种协


议通讯,MTA之间通讯所使用的协议叫消息传输系统(MTS),只有两个MTA都使用这个


协议时,才能进行通讯.


SMTP


一些实现了SMTP的著名MTA包括:

开源MTA:

Sendmail

Postfix

Exim

qmail


商业MTA

Microsoft Exchange

Lotus Notes Domaino Mail Server


SMTP是在因特网上MTA之间用于消息交换的最常用的MTS,它被MTA用来把e-mail从


一台主机传送到另一台主机,在你发e-mail的时候,你必须连接到一个外部的SMTP


服务器,这是,你的邮件程序是SMTP客户端,你的SMTP服务器为你的消息的第一跳板


17.4.3 Python和SMTP


1.连接到服务器

2.登陆(如果需要的话)

3.发出服务请求

4.退出


下面是一些Python的伪代码:

from smtplib import SMTP

n = SMTP('smtp.yourdomain.com')

...

n.quit()


17.4.4 smtplib.SMTP方法


SMTP对象的方法


方法描述

Sendmail

(from,to,msg[,

mopts,ropts])把msg从from发送给to(列表或元祖).ESMTP设置(mopts)和收件人设置( ropts)为可选

quit()关闭连接,然后退出

login(user, passwd)使用user用户和passwd密码登陆到SMTP服务器


17.4.5 交互式SMTP示例:


17.4.6 SMTP的其他方面


17.4.7 接收E-mail


17.4.8 POP和IMAP


17.4.9 Python和POP3


17.4.10 交互式POP3举例


17.4.10 poplib.POP3类方法


17.4.12 客户端程序SMTP和POP3举例


17.5 相关模块


17.5.2 其他网络协议


模块描述

ftplibFTP协议客户端

gopherlibGopher协议客户端

httplibHTTP和HTTPS协议客户端

imaplibIMAP4协议客户端

nntplibNNTP protocol client

poplibPOP3协议客户端

smtplibSMTP协议客户端

telnetlibTelnet协议客户端类


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

[PYTHON] 核心编程笔记(17.P

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

[PYTHON] 核心编程笔记(17.P

17.1 什么是因特网客户端?17.2 文件传输17.2.1 文件传输因特网协议流行的有文件传输协议(FTP),Unix-to-Unix复制协议(UUCP),以及网页的超文本传输协议(HTTP),另外,还有(Unix下的)远程文件复制指令s
2023-01-31

[PYTHON] 核心编程笔记(13.P

13.1 介绍类与实例:类与实例相互关联,类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息下面的示例展示如何创建一个类:class MyNewObjectType(bases):    'define MyNewO
2023-01-31

[PYTHON] 核心编程笔记(11.P

11.1 什么是函数?函数式对程序逻辑进行结构化或过程化的一种编程方法,能够整块代码巧妙地隔离成易于管理的小块以下为创建,使用,或引用函数的方法:declaration/definition def foo(): print 'bar'fu
2023-01-31

[PYTHON] 核心编程笔记(14.P

在python中有多种运行外部程序的方法,比如,运行操作系统命令或另外的python脚本,或执行一个磁盘上的文件,或通过网络来运行文件在特定执行场景包括:在当前脚本继续运行创建和管理子进程执行外部命令或程序执行需要输入的命令通过网络来调用命
2023-01-31

[PYTHON] 核心编程笔记(16.P

16.1 介绍16.1.1 什么是客户/服务器架构?硬件的客户/服务器架构软件客户/服务器架构16.1.2 客户/服务器网络编程16.2 套接字: 通讯端点16.2.1 什么是套接字?套接字是一种具有通讯端点感念的计算机网络数据结构16.2
2023-01-31

[PYTHON]核心编程笔记(15.Py

核心笔记:查找与匹配的比较15.1.1 您的第一个正则表达式:15.2 正则表达式使用的特殊符号和字符常用正则表达式符号和特殊符号:记号       说明                                          举
2023-01-31

[PYTHON] 核心编程笔记(20.W

20.1 介绍20.1.1 Web应用:客户端/服务器计算20.1.2 因特网20.2 使用Python进行Web应用:创建一个简单的Web客户端20.2.1 统一资源定位符20.2.2 urlparse模块urlparse(urlstr,
2023-01-31

[PYTHON] 核心编程笔记之七-Py

7.1 映射类型:字典字典是Python语言中唯一的映射类型,映射类型对象里哈希值(键)和指向的对象(值)是一对多的关系,字典对象可变,它是一个容器类型,能存储任意个Python对象注:什么是哈希表?哈希表是一种数据结构:哈希表中存储的每一
2023-01-31

[PYTHON] 核心编程笔记之八-Py

8.1 if语句if expression:    expr_true_suite8.1.1 多重条件表达式单个if 语句可以通过使用and,or和not实现多重判断条件或是否定判断条件if not warn and (system_loa
2023-01-31

[PYTHON] 核心编程笔记之四-Py

4.1 Python 对象Python 使用对象模型来存储数据所有的Python对象都拥有三个特性: 身份,类型和值:身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到,这个值可以认为是该对象的内存地
2023-01-31

[PYTHON] 核心编程笔记之十-Py

10.1 什么是异常10.1.1 错误错误时语法或是逻辑上的,语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译当Python检测到一个错误时,解释器就会支出当前流已经无法继续执行下去,这时就出现了异常10.1.2 异常1
2023-01-31

[PYTHON] 核心编程笔记之六-Py

6.序列:字符串,列表和元祖6.1序列6.1.1标准类型操作符6.1.2序列类型操作符成员关系操作符(in,not in)判断一个元素是否属于一个序列字符串判断一个字符是否属于这个字符串元祖判断一个对象是否属于该对象序列in/not in
2023-01-31

[PYTHON] 核心编程笔记之五-Py

5.1 数字类型创建数值对象和给变量赋值anInt = 1aLong = -9999999999LaFloat = 3.1415926aComplex = 1.23+4.56j如何更新数字对象变量像一个指针指向装变量值的盒子,对不可变类型来
2023-01-31

[PYTHON] 核心编程笔记之九-Py

9.2 文件内建函数[open()和file()]内建函数open()[以及file()]提供了初始化输入/输出(I/0)操作的通用接口,open()内建函数成功打开文件后会返回一个文件对象,否则引发一个错误,当操作失败,Python会产生
2023-01-31

《Python核心编程》第五章

5-1.整型。讲讲Python普通整型和长整型的区别?   答案:    在大多数32位机器上,标准整型的取值范围是-2^31~2^31-1,如果在64位机器上使用64位编译器编译的Python,则整型是64位的。而长整型能表示的数值仅仅与
2023-01-31

Python核心编程第三版

Python核心编程第三版高清版 PDF链接: https://pan.baidu.com/s/16jAUKZc3wHUoFZbPnhpVMw 密码: 2y8d
2023-01-31

Python核心编程习题解答

最近在学Python,准备把《Python核心编程(第二版)》上课后有意思的习题做一做,也算是对语言的内容更熟悉一些。我做的代码在github上(链接),可以上去根据题号查看或搜索。难免有理解或做得不对的地方,请指正或一起讨论。慢慢来,踏实
2023-01-31

python核心编程(第三版)网络编程错

//服务器端代码from socket import *from time import ctimehost='localhost'port=3330bufsize = 1024addr = (host,port)tcpser = sock
2023-01-30

Python核心编程答案(自整理)

2–10.带循环和条件判断的用户输入 使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。#!/usr/bin/e
2023-01-31

Python核心编程的四大神兽

本文将主要分为4大部分,分别介绍Python核心编程中的迭代器、生成器 、闭包以及装饰器。生成器生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录