凭海临风的IT江湖

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 公益 404

  • 时间轴

  • 搜索

python standard library http

发表于 2020-01-08 | 更新于 2022-08-18 | 分类于 python
本文字数: 11k | 阅读时长 ≈ 10 分钟

python 标准库之 http

山雨欲来风满楼,最近不是很太平,希望世界和平吧。

python 标准库学习 之 http

http 是一个包,它收集了多个用于处理超文本传输协议的模块:

参考文档

  • http.client 是一个低层级的 HTTP 协议客户端;对于高层级的 URL 访问请使用 urllib.request
  • http.server 包含基于 socketserver 的基本 HTTP 服务类
  • http.cookies 包含一些有用来实现通过 cookies 进行状态管理的工具
  • http.cookiejar 提供了 cookies 的持久化

本次只整理 http.client的内容,后面持续更新。

常量

class http.HTTPStatus

使用方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> from http import HTTPStatus
>>> HTTPStatus.OK
<HTTPStatus.OK: 200>
>>> HTTPStatus.OK == 200
True
>>> HTTPStatus.OK.value
200
>>> HTTPStatus.OK.phrase
'OK'
>>> HTTPStatus.OK.description
'Request fulfilled, document follows'
>>> list(HTTPStatus)
[<HTTPStatus.CONTINUE: 100>, <HTTPStatus.SWITCHING_PROTOCOLS: 101>, ...]
阅读全文 »

python standard library glob

发表于 2020-01-07 | 更新于 2022-08-18 | 分类于 python
本文字数: 3.1k | 阅读时长 ≈ 3 分钟

python 标准库之 glob

在严寒的冬季,温暖人的只有笑脸了吧。

今天继续给大家介绍python标准库 glob

参考文档

glob 模块可根据 Unix 终端所用规则找出所有匹配特定模式的路径名,但会按不确定的顺序返回结果。支持查找文件只用到三个匹配符:’*’, “?”, “[ ]”,不包括波浪线~,因为这个符号在linux代表当前用户的home目录。

对于波浪号和终端变量扩展,请使用 os.path.expanduser() 和 os.path.expandvars())。

根据阅读代码发现,这个底层使用cpython实现, 有兴趣的童鞋可以移步到源代码: Lib/glob.py

相对于高级面向对象路径查找模块pathlib ,glob更偏向底层实现。

函数

  • glob.glob(pathname, *, recursive=False)

    返回匹配 pathname 的可能为空的路径名列表,其中的元素必须为包含一个路径信息的字符串。 pathname 可以是绝对路径 (如 /usr/src/Python-1.5/Makefile) 或相对路径 (如 ../../Tools/*/*.gif),并且可包含 shell 风格的通配符。 结果也将包含无效的符号链接 (与在 shell 中一致)。 结果是否排序取决于具体文件系统。

    如果 recursive 为真值,则模式 “**“ 将匹配目录中的任何文件以及零个或多个目录、子目录和符号链接。 如果模式加了一个 os.sep 或 os.altsep 则将不匹配文件。

    备注:在一个较大的目录树中使用 “**“ 模式可能会消耗非常多的时间。 3.5 版更改: 支持使用 “**“ 的递归 glob

  • glob.iglob(pathname, *, recursive=False)

    返回一个 iterator,它会产生与 glob() 相同的结果,但不会实际地同时保存它们。

  • glob.escape(pathname)

    转义所有特殊字符 ('?', '*' 和 '[')。 这适用于当你想要匹配可能带有特殊字符的任意字符串字面值的情况。 在 drive/UNC 共享点中的特殊字符不会被转义,例如在 Windows 上 escape('//?/c:/Quo vadis?.txt') 将返回 '//?/c:/Quo vadis[?].txt'。

阅读全文 »

python standard library textwrap

发表于 2020-01-06 | 更新于 2022-08-18 | 分类于 python
本文字数: 3.4k | 阅读时长 ≈ 3 分钟

Python 标准库 之 textwrap

今天给大家介绍 python标准库中的 textwrap

参考文档

标准库 textwrap 是一个关于文本自动换行和填充的模块。

关于这个模块官网介绍如下:

textwrap 模块提供了一些快捷函数,以及可以完成所有工作的类 TextWrapper。

如果你只是要对一两个文本字符串进行自动换行或填充,快捷函数应该就够用了;

否则的话,你应该使用 TextWrapper 的实例来提高效率。

函数

  • textwrap.wrap(*text*, *width=70*, kwargs)

对 text (字符串) 中的单独段落自动换行以使每行长度最多为 width 个字符。 返回由输出行组成的列表,行尾不带换行符。

  • textwrap.fill(text, width=70, kwargs)

对 text 中的单独段落自动换行,并返回一个包含被自动换行段落的单独字符串。 fill() 是以下语句的快捷方式

1
"\n".join(wrap(text, ...))
  • textwrap.shorten(text, width, kwargs)

折叠并截短给定的 text 以符合给定的 width。

阅读全文 »

python standard library http.server

发表于 2020-01-05 | 更新于 2022-08-18 | 分类于 python
本文字数: 3.6k | 阅读时长 ≈ 3 分钟

python 标准库之 http.server

今天下午主要是陪我闺女,组装完成一个桌面足球,很开心的一下午。

孩子的童年只有一次,有时间多陪陪孩子吧。

python 标准库 http.server

从python2时代开始 SimpleHttpServer就陪伴我走过那些快乐的时光。可以自己建立一个简单的文件服务器,让同事们通过浏览器就可以访问我电脑上的资源,而不需要http server或者 ftp软件。

到了python3时代,这个模块被合并进了http.server。

参考网址

这个模块定义了实现 HTTP 服务器( Web 服务器)的类 。

HTTPServer 是 socketserver.TCPServer 的一个子类。它会创建和侦听 HTTP 套接字,并将请求调度给处理程序。用于创建和运行服务器的代码看起来像这样

1
2
3
4
def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()

核心类

class http.server.HTTPServer(server_address, RequestHandlerClass)

该类基于 TCPServer 类,并会将服务器地址存入名为 server_name 和 server_port 的实例变量中。服务器可被处理程序通过 server 实例变量访问。

class http.server.ThreadingHTTPServer(server_address, RequestHandlerClass)

根据官方说明,这是一个基于 ThreadingMixIn的类,主要功能是使用线程处理请求。

阅读全文 »

windows jupyter notebook nbextension usage

发表于 2020-01-04 | 更新于 2022-08-18 | 分类于 python
本文字数: 1.2k | 阅读时长 ≈ 1 分钟

windows下jupyter 安装nbextension 插件填坑记

环境

软件和操作系统 版本号
操作系统 win7 64位 sp1
python版本 3.6.2
jupyter core 4.5.0
jupyter notebook 6.0.0

问题描述

本来以为给jupyter安装个插件,分分钟搞定的事,结果三天了还是没解决。

我回家用win10的电脑,5分钟搞定。

尝试了各种方式,卸载重装,修改环境变量,换不同的python版本。后来我快要放放弃的时候,我终于搞定了。

阅读全文 »

python standard library webbrowser

发表于 2020-01-03 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 2.9k | 阅读时长 ≈ 3 分钟

python 标准库之 webbrowser

没啥前提

一张图表示我现在的心情

冷啊

标准库 webbrowser

webbrowser 模块提供了一个高级接口,允许向用户显示基于Web的文档。 在大多数情况下,只需从该模块调用 open() 函数就可以了。

在 Unix 下,图形浏览器在 X11 下是首选,但如果图形浏览器不可用或 X11 显示不可用,则将使用文本模式浏览器。 如果使用文本模式浏览器,则调用进程将阻塞,直到用户退出浏览器。

如果存在环境变量 BROWSER ,则将其解释为 os.pathsep 分隔的浏览器列表,以便在平台默认值之前尝试。 当列表部分的值包含字符串 %s 时,它被解释为一个文字浏览器命令行,用于替换 %s 的参数 URL ;如果该部分不包含 %s,则它只被解释为要启动的浏览器的名称。

脚本 webbrowser 可以用作模块的命令行界面。它接受一个 URL 作为参数。还接受以下可选参数:-n 如果可能,在新的浏览器窗口中打开 URL ; -t 在新的浏览器页面(“标签”)中打开 URL。这些选择当然是相互排斥的。用法示例:

1
python -m webbrowser -t "https://jeffsui.github.io"
阅读全文 »

python standard library csv

发表于 2020-01-02 | 更新于 2022-08-18 | 分类于 python
本文字数: 4.8k | 阅读时长 ≈ 4 分钟

python 标准库学习之csv

前言

2019年立的flag,今年继续,标准库系列文章继续更新。

今天是真冷啊,屋里头才16℃,只能用一张图来表示我的心情。

标准库 csv

文档路径

python标准库csv

CSV 文件格式

文件扩展名为.csv,通用的电子表格文件格式,经常使用在数据分析中。

分隔符可能有所差别, python中的csv模块提供了对csv文件的读写操作,非常方便。

csv 常用方法

csv.reader(csvfile,dialect='excel', ***fmtparams)

返回一个reader对象,该对象遍历csvfile。csv对象可以是任何对象,只要这个对象支持iteratable协议,并在每次调用__next__()方法时都返回字符串即可。如果csvfile是文件对象,则打开它时应使用newline=''。可选参数dialect是用于不同的csv文件类型,它可以是 Dialect 类的子类的实例,也可以是 list_dialects() 函数返回的字符串之一。完整的解释可以参考csv文件格式参数。

csv文件的每一行都会默认当做字符串列表解析,除非指定了 QUOTE_NONNUMERIC 格式选项(在这种情况下,未加引号的字段会转换为浮点数),否则不会执行自动数据类型转换。

一个读文件例子

1
2
3
4
5
6
7
>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
... spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
... for row in spamreader:
... print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
阅读全文 »

using python venv to create virtual environment

发表于 2019-12-26 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 11k | 阅读时长 ≈ 10 分钟

python env 创建虚拟环境

前言

又断更了,长此以往,我可能无法完成100天打卡任务了。

红包是刺激自己前进的动力。

python 标准库03之虚拟环境创建

参考文档

python目前官方推荐的工具是venv

顺便介绍下目前常用的python虚拟环境工具

  • virsualenv
  • pyvenv (3.3,3.4中推荐的虚拟环境创建工具,3.6中被弃用)
  • venv(3.6以后推荐的虚拟环境创建工具)
阅读全文 »

python standard library -2 dictionary

发表于 2019-12-23 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 6.6k | 阅读时长 ≈ 6 分钟

python 标准库学习笔记 – dictionary

0.0 前言

家里孩子发烧了,延迟更新标准库学习笔记

折腾了三个晚上,一家三口都累倒了。

人生就好比一个蹒跚学步的孩童,很容易被外界环境影响。

1.0 标准库- 内置函数

参考文档: 内置类型-字典

python中主要内置类型包括numbers,sequences,mappings,classes,instance和exception。

1.1 逻辑值检测

任何对象都可以进行逻辑值检测,以便在if 或while作为条件或是作为上下文所指返回值是布尔类型的表达式来使用。所以就有下面的用法。

1
2
3
4
5
L = []
if(L):
pass
while(L):
pass

一个对象在默认情况下被认为是True,除非该对象定义了__boolean__() 方法且返回False 或者定义__len__()方法且返回零。下面三种情况的内置对象都会被认为是逻辑假值。

  • None 或 False

  • 任何数值类型的零

  • 空的序列和多项集 包括 空字符串、空列表、空集合、空字典、空元组以及空数列(reange(0))

    阅读全文 »

python_standard_library_1_string

发表于 2019-12-20 | 更新于 2022-08-18 | 分类于 python , standard_library
本文字数: 7.9k | 阅读时长 ≈ 7 分钟

python 标准库学习笔记 – string

前言

今天是2019年12月20日,刚刚晴朗的天

20191220.jpg

入冬以来的第二场雪就悄然而至

20191220-1.jpg

从今天开始,坚持更新博文100天,也算是对python学习的总结。那么从哪里开始呢?

那就从python标准库开始撸吧。

阅读全文 »
1…101112…15
Jeff Sui

Jeff Sui

146 日志
35 分类
166 标签
RSS
GitHub E-Mail
  • 20201
  • 2to31
  • Boolean1
  • Centos2
  • Exception1
  • GIL1
  • GitGutter1
  • Tkinter1
  • TypeScript2
  • XML2
  • __all__1
  • _thread1
  • app1
  • argparse2
  • array1
  • atexit1
  • bisect1
  • calendar1
  • centos1
  • checkbox1
  • cmath1
  • cmd1
  • code1
  • collections.abc1
  • concurrent1
  • context-manager-types1
  • cookies1
  • copy1
  • coroutines1
  • csv1
  • cygwin1
  • dataclasses1
  • dbm1
  • dict1
  • dictionary1
  • difflib1
  • dis1
  • django4
  • docker3
  • doctest1
  • dom1
  • eclipse1
  • enum1
  • es61
  • esp323
  • esptool1
  • ffmpeg1
  • filecmp1
  • fileinput1
  • fractions1
  • functools1
  • futures1
  • gc1
  • generator1
  • git4
  • gitcafe1
  • github1
  • glob1
  • heapq1
  • hexo2
  • html.parser1
  • http2
  • http.server1
  • ios1
  • iterator1
  • itertools1
  • java3
  • javascript6
  • javaweb2
  • jdk1
  • jira1
  • json1
  • juypter1
  • keyword1
  • linecache1
  • linux2
  • lite-server1
  • m3u81
  • maven4
  • micorpython1
  • micropython2
  • minidom1
  • modulefinder1
  • mongodb1
  • mybatis1
  • mysql1
  • nbextension1
  • nginx1
  • nodejs1
  • oop1
  • operator1
  • os1
  • os.path1
  • others1
  • photo1
  • pickle1
  • pprint1
  • pwd1
  • python94
  • python31
  • queue1
  • re1
  • readline1
  • registry2
  • registry-ui2
  • reprlib1
  • sax1
  • sched1
  • select1
  • selectors1
  • selenium3
  • shutil1
  • socket1
  • sort1
  • spring1
  • sqlite32
  • ssm1
  • standar_library1
  • standard_library78
  • statistics1
  • string1
  • sublime1
  • tempfile1
  • this1
  • thread1
  • timeit1
  • turtle2
  • types1
  • uPycraft1
  • unittest1
  • urllib.robotparser1
  • uuid1
  • uv1
  • venv1
  • vscode1
  • weakref1
  • web test2
  • webbrowser1
  • webrepl1
  • windows3
  • xml2
  • 二维码1
  • 办公1
  • 博客3
  • 坑1
  • 字典1
  • 异步1
  • 循环1
  • 感悟1
  • 持续集成1
  • 搭建1
  • 搭建博客1
  • 文章1
  • 杂记3
  • 版本管理2
  • 短网址1
  • 禅道1
  • 笔记1
  • 约束1
  • 网易音乐1
  • 美化1
  • 自动化测试1
  • 软件工程1
  • 逆向工程1
  • 闭包1
  • 项目管理2
© 2015 – 2025 Jeff Sui | 811k | 12:18
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v7.1.1
|
0%