广告
返回顶部
首页 > 资讯 > 后端开发 > Python >[PYTHON] 核心编程笔记(17.P
  • 526
分享到

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

核心笔记PYTHON 2023-01-31 07:01:38 526人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

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

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协议客户端类


--结束END--

本文标题: [PYTHON] 核心编程笔记(17.P

本文链接: https://www.lsjlt.com/news/191076.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • [PYTHON] 核心编程笔记(17.P
    17.1 什么是因特网客户端17.2 文件传输17.2.1 文件传输因特网协议流行的有文件传输协议(FTP),Unix-to-Unix复制协议(UUCP),以及网页的超文本传输协议(HTTP),另外,还有(Unix下的)远程文件复制指令sc...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(11.P
    11.1 什么是函数函数式对程序逻辑进行结构化或过程化的一种编程方法,能够整块代码巧妙地隔离成易于管理的小块以下为创建,使用,或引用函数的方法:declaration/definition def foo(): print 'bar'fun...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(16.P
    16.1 介绍16.1.1 什么是客户/服务器架构硬件的客户/服务器架构软件客户/服务器架构16.1.2 客户/服务器网络编程16.2 套接字: 通讯端点16.2.1 什么是套接字套接字是一种具有通讯端点感念的计算机网络数据结构16.2.2...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(13.P
    13.1 介绍类与实例:类与实例相互关联,类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息下面的示例展示如何创建一个类:class MyNewObjectType(bases):    'define MyNewO...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(14.P
    在python中有多种运行外部程序的方法,比如,运行操作系统命令或另外的python脚本,或执行一个磁盘上的文件,或通过网络来运行文件在特定执行场景包括:在当前脚本继续运行创建和管理子进程执行外部命令或程序执行需要输入的命令通过网络来调用命...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [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,...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON]核心编程笔记(15.Py
    核心笔记:查找与匹配的比较15.1.1 您的第一个正则表达式:15.2 正则表达式使用的特殊符号和字符常用正则表达式符号和特殊符号:记号       说明                                          举...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记之十-Py
    10.1 什么是异常10.1.1 错误错误时语法或是逻辑上的,语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译当Python检测到一个错误时,解释器就会支出当前流已经无法继续执行下去,这时就出现了异常10.1.2 异常1...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记之八-Py
    8.1 if语句if expression:    expr_true_suite8.1.1 多重条件表达式单个if 语句可以通过使用and,or和not实现多重判断条件或是否定判断条件if not warn and (system_loa...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记之六-Py
    6.序列:字符串,列表和元祖6.1序列6.1.1标准类型操作符6.1.2序列类型操作符成员关系操作符(in,not in)判断一个元素是否属于一个序列字符串判断一个字符是否属于这个字符串元祖判断一个对象是否属于该对象序列in/not in ...
    99+
    2023-01-31
    之六 核心 笔记
  • [PYTHON] 核心编程笔记之九-Py
    9.2 文件内建函数[open()和file()]内建函数open()[以及file()]提供了初始化输入/输出(I/0)操作的通用接口,open()内建函数成功打开文件后会返回一个文件对象,否则引发一个错误,当操作失败,Python会产生...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记之五-Py
    5.1 数字类型创建数值对象和给变量赋值anInt = 1aLong = -9999999999LaFloat = 3.1415926aComplex = 1.23+4.56j如何更新数字对象变量像一个指针指向装变量值的盒子,对不可变类型来...
    99+
    2023-01-31
    之五 核心 笔记
  • [PYTHON] 核心编程笔记之四-Py
    4.1 Python 对象Python 使用对象模型来存储数据所有的Python对象都拥有三个特性: 身份,类型和值:身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到,这个值可以认为是该对象的内存地...
    99+
    2023-01-31
    之四 核心 笔记
  • [PYTHON] 核心编程笔记之七-Py
    7.1 映射类型:字典字典是Python语言中唯一的映射类型,映射类型对象里哈希值(键)和指向的对象(值)是一对多的关系,字典对象可变,它是一个容器类型,能存储任意个Python对象注:什么是哈希表哈希表是一种数据结构:哈希表中存储的每一条...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • 《Python核心编程》第五章
    5-1.整型。讲讲Python普通整型和长整型的区别?   答案:    在大多数32位机器上,标准整型的取值范围是-2^31~2^31-1,如果在64位机器上使用64位编译器编译的Python,则整型是64位的。而长整型能表示的数值仅仅与...
    99+
    2023-01-31
    第五章 核心 Python
  • Python核心编程第三版
    Python核心编程第三版高清版 PDF链接: https://pan.baidu.com/s/16jAUKZc3wHUoFZbPnhpVMw 密码: 2y8d ...
    99+
    2023-01-31
    第三版 核心 Python
  • Python核心编程习题解答
    最近在学Python,准备把《Python核心编程(第二版)》上课后有意思的习题做一做,也算是对语言的内容更熟悉一些。我做的代码在github上(链接),可以上去根据题号查看或搜索。难免有理解或做得不对的地方,请指正或一起讨论。慢慢来,踏实...
    99+
    2023-01-31
    习题 核心 Python
  • Python核心编程的四大神兽
    本文将主要分为4大部分,分别介绍Python核心编程中的迭代器、生成器 、闭包以及装饰器。 生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数...
    99+
    2023-01-30
    神兽 核心 Python
  • Python核心编程答案(自整理)
    2–10.带循环和条件判断的用户输入 使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。#!/usr/bin/e...
    99+
    2023-01-31
    核心 答案 Python
  • python核心编程(第三版)网络编程错
    //服务器端代码from socket import * from time import ctime host='localhost' port=3330 bufsize = 1024 addr = (host,port) tcp...
    99+
    2023-01-30
    第三版 网络编程 核心
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作