python中标准库,Python标准模块
文章目录一、常用标准库二、操作系统库`2.1.常用模块方法` ` 2.2.os.path子模块``2.3.遍历目录`三、系统库四、平台五、全球六、随机七、子流程八、泡菜九、json `9.1 .示例:字典与数据互换`十、时间十一、日期时间` 11.1。练习:计算时间差额,如100天零四小时前、100天零四小时后是什么时候`十二、urllib `12.1 .示例1:自定义用户代理``12.2.示例2:向接口提交用户数据`十三、hashlib模块十四、tarfile模块十五、舒蒂尔十六、请求请问url“获取”请求`邮政请求`
一、常用标准库
官方文档标准库列表:https://doc。python。org/zh-cn/3.8/图书馆/索引。超文本标记语言
二、操作系统库骨库主要对目标和文件操作
2.1.常用模块方法
导入操作系统
os.getcwd() # pwd
os.chdir(/tmp) # cd /tmp
os.listdir(/tmp) # ls /tmp
OS。make dirs(/tmp/my demo/mydir )# mkdir-p创建多级目录
os.mkdir(/tmp/abcde) # mkdir
os.rmdir(/tmp/abcde) # rmdir
OS。chdir(/tmp/my demo/mydir )# CD/tmp/my demo/mydir
os.mknod(hello) #触摸你好
os.symlink(/etc/hosts ,诸暨)# ln -s /etc/hosts诸暨
os.chmod(hello ,0o644) # chmod 644 hello
os.rename(你好,欢迎)# mv你好欢迎
os.unlink(诸暨)#取消链接诸暨#删除软链接
os.remove(欢迎)# rm -f欢迎
2.2.os.path子模块
os.path.abspath( . ))) # 当前路径的绝对路径;获取当前文件的绝对路径
/tmp/mydemo/mydir
OS。路径。dirname(/tmp/demo/ABC。txt’)
/tmp/demo
OS。路径。basename(/tmp/demo/ABC。txt’)
abc.txt
os.path.join(/tmp/demo , abc.txt) #路径拼接
/tmp/demo/abc.txt
os.path.split(/tmp/a.txt) #分割路径为一个元组
(/tmp , a.txt )
OS。路径。拆分分机(/tmp/a . txt )[1]#获取文件后缀。文本
os.path.isdir(/etc) #存在并且是目录吗?
真实的
os.path.isfile(/etc/hosts) #存在并且是文件吗?
真实的
os.path.islink(/etc/passwd) #存在并且是链接吗?
错误的
os.path.ismount(/) #存在并且是挂载点吗?
真实的
os.path.exists(/abcd) #存在吗?
错误的
2.3.遍历目录
对于os.walk中的目录路径、目录名、文件名(/tmp ):
.打印(f 目录路径:{目录路径},目录名:{目录名},文件名:{文件名} )
三、系统库[计]系统复制命令(系统的简写)库用于与计算机编程语言解释器交互
导入系统
sys.path #获取计算机编程语言解释器查找模块的路径,类似于壳的$PATH
四、平台用于获取操作系统详细信息
五、全球用于文件查找,支持通配符(*、[])
glob.glob(/home/user/*).sh) #查找目录中所有以。嘘为后缀的文件
[/home/user/b.sh ,/home/user/a.sh ,/home/user/sum.sh]
glob.glob(/home/user/?sh) #查找目录中出现单个字符并以。嘘为后缀的文件
[/home/user/b.sh ,/home/user/a.sh]
glob.glob(/home/user/[ab]).sh) #查找目录中出现a.sh或b.sh的文件
[/home/user/b.sh ,/home/user/a.sh]
六、随机用于生成随机数
随机导入
list=list(范围(1,10))
列表
[1, 2, 3, 4, 5, 6, 7, 8, 9]
#随机取出一个数
随机选择
9
#对列表洗牌
随机洗牌
列表
[8, 5, 4, 6, 1, 7, 9, 2, 3]
#对列表取样
随机样本(列表,2)
[8, 6]
七、子过程子过程库用于执行壳命令,工作时会叉一个子进程去执行任务,连接到子进程的标准输入、输出、错误,并获得它们的返回代码。
这个模块将取代os.system、os.spawn*、os.popen*、popen2 .和命令。
子过程的主要方法:
subprocess.run(),子进程Popen(),子过程。调用
语法:subprocess.run(args,*,stdin=None,stdout=None,stderr=None,shell=False,cwd=None,timeout=None,check=False,encoding=None)
导入子流程
subprocess.run(ls /home ,shell=True)
#返回值
RC=子流程。跑(平-C2-I 0.2-w1 192。168 .74 .133/dev/null ,shell=True)
返回代码代码#类似于$?
#捕获输出
RC=子流程。运行( id根;id ddd ,shell=True,stdout=子进程。管道,标准错误=子进程。管道)
返回代码
一
rc.stdout.decode()
uid=0(根)gid=0(根)组=0(根)\n
八皮克莱模块实现了对一个计算机编程语言对象结构的二进制序列化和反序列化。
主要用于将对象持久化到文件存储。
泡菜模块主要有两个函数:
转储()把对象保存到文件中(序列化),使用负载()函数从文件中读取(反序列化)
转储()把对象保存到内存中,使用负载()函数读取
进口泡菜
shopping_list=[apple , banana , orage]
用打开(/tmp/shop.data , wb )作为fobj:
.泡菜.转储(购物清单,fobj) #序列化
# 取出数据,还是列表的形式
用打开(/tmp/shop.data , rb )作为fobj:
.mylist=pickle.load(fobj) #反序列化
我的列表
[苹果,香蕉, orage]
九、jsonJSON是一种轻量级数据交换格式,一般应用程序接口返回的数据大多是JSON、XML、如果返回数据的话,需将获取的数据转换成字典,方面在程序中处理。
数据与泡菜有相似的接口,主要提供两种方法:
转储()对数据进行编码
负载()对数据进行解码
9.1.示例:字典与数据互换
导入数据
计算机={ 主机:5000,显示器:1000,鼠标:60,键盘:150}
json_obj=json.dumps(计算机)
打印(json_obj)
# 将数据对象转换为字典
data=json.loads(json_obj)
打印(数据)
十、时间用于满足简单的时间处理,例如获取当前时间戳、日期、时间、休眠。
导入时间
time.time() #1970-1-1 0:00:00到当前时间的秒数
time.ctime() #UTC时间
2020年一月27日星期一10时10分59秒
#九元组结构时间
time.localtime()
time.struct_time(tm_year=2020,tm_mon=1,tm_mday=27,tm_hour=10,tm_min=11,tm_sec=20,tm_wday=0,tm_yday=27,tm_isdst=0)
t=time.localtime()
t.tm _年
2020
time.sleep(3) #睡眠3秒
时间。strftime( % Y-% M-% d % H:% M:% S )
2022-01-28 11:46:25
十一、日期时间用于处理更复杂的日期和时间
从日期时间导入日期时间,日期
t1=datetime.now()
一种网络的名称(传输率可达1.54mbps)级(一种通讯线路的名称)
日期时间。日期时间(2020,1,27,10,21,39,621714)
t1。年,t1。月,t1。日,t1。小时,t1。分钟,t1。秒,t1。微秒
(2020, 1, 27, 10, 21, 39, 621714)
# 将日期时间对象转成时间字符串
datetime.strftime(t1, %Y-%m-%d %H:%M:%S )
2019-07-08 10:55:17
# 将时间字符串转换成日期时间对象
日期时间。strptime( 2019-07-08 10:55:17 , %Y-%m-%d %H:%M:%S )
日期时间。日期时间(2019,7,8,10,55,17)
# 创建指定时间的日期时间对象
t=日期时间(2019,7,8)
t
日期时间。日期时间(2019,7,8,0,0)
print(date.today()) #打印年月日
2021-01-10
11.1.练习:计算时间差额,如100天零四小时前、100天零四小时后是什么时候
从日期时间导入日期时间,时间增量
dt=时间增量(天数=100,小时数=4)
t=datetime.now()
t
日期时间。日期时间(2019,7,8,11,38,13,922027)
t - dt
日期时间。日期时间(2019,3,30,7,38,13,922027)
t dt
日期时间。日期时间(2019,10,16,15,38,13,922027)
十二、urllib用于访问统一资源定位器
人人贷包含以下类:
urllib.request打开和读取统一资源定位器
urllib.error包含urllib.request抛出的异常
urllib.parse用于解析统一资源定位器
urllib.robotparser用于解析robots.txt文件
用的最多是urllib.request类,它定义了适用于在各种复杂情况下打开URL,例如基本认证、重定向、饼干、代理等。
从人人贷导入请求
RES=请求。URL打开( http://www。CT nrs。com’)RES是一个HTTPResponse类型的对象,包含以下方法和属性
12.1.示例1:自定义用户代理
从人人贷导入请求
url=http://www.ctnrs.com
user _ agent= Mozilla/5.0(Windows NT 10.0;win 64x 64)apple WebKit/537.36(KHTML,像壁虎一样)Chrome/78。0 .3904 .108 safari/537.36
header={ User-Agent :User _ Agent }
请求=请求。请求(网址,头=头)
res=request.urlopen(req)
print(res.getcode())
12.2.示例2:向接口提交用户数据
从人人贷导入请求,解析
url=http://www.ctnrs.com/login
post_data={ 用户名:用户1 ,密码: 123456}
post _ data=parse。urlencode(post _ data).编码( utf8) #将字典转为统一资源定位器查询字符串格式,并转为字节类型
请求=请求。请求(url,data=post_data,headers=header)
res=request.urlopen(req)
print(res.read())
十三、hashlib模块用于计算文件的哈希值
# 计算文件的讯息摘要5值
用打开(/etc/passwd , rb )作为fobj:
.data=fobj.read()
m=hashlib.md5(数据)
六角文摘
decb 544 ed 171583 bb1d 7722500910 d9e
十四、tarfile模块实现打包压缩、解压缩,同时支持gzip/bzip2/xz格式
# 压缩
导入目标文件
tar=tar文件。打开(/tmp/mytest。焦油。 gz , w:gz) #用压缩压缩
tar.add(/etc/hosts) #压缩单个文件
tar.add(/etc/security) #压缩目录
tar.close() #关闭
# 解压
tar=tar文件。打开(/tmp/mytest。焦油。gz )#自动识别压缩格式,以读方式打开
焦油。全部提取(path=/var/tmp )#指定解压目录,默认解到当前目录
tar.close()
十五、舒蒂尔进口模块
shutil.copy2(/bin/ls ,/tmp/list7) #相当于cp -p
shutil.copytree(/etc/security ,/tmp/security) #相当于复制目录
shutil.move(/tmp/security ,/var/tmp/anquan) #相当于平均变化
舒蒂尔。RM树(/var/tmp/anquan )#相当于风险溢价
十六、请求请问全球资源定位器(统一资源定位器)
得到请求导入请求
从请求. auth导入HTTPBasicAuth
URL= http://192。168 .1 .2:8088/arti factory/release/
用户名=管理
密码=123456
res=requests.get(url,auth=HTTPBasicAuth(用户名,密码)
data=req.text #返回网页内容,类型为字符串
张贴请求
计算机编程语言接口自动化-请求模块之邮政请求
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。