1 argparse命令行参数解析
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。
文件tt.py
import argparse
parser = argparse.ArgumentParser(description="Demo of argparse")
parser.add_argument('-n','--name', default='zhang')
parser.add_argument('-y','--year', default='20')
args = parser.parse_args()
print(args)
name = args.name
year = args.year
print('Hello {} {}'.format(name,year))
输出显示
Namespace(name='zhang', year='20')
Hello zhang 20
(1)ArgumentParser类生成一个parser对象,其中的description描述这个参数解析器是干什么的,当在命令行显示帮助信息的时候会看到description描述的信息。
(2)通过对象的add_argument函数来增加参数。这里我们增加了两个参数name和year,其中’-n’,’–name’表示同一个参数,default参数表示在运行命令时若没有提供参数,程序会将此值当做参数值。
(3)采用对象的parse_args获取解析的参数。
(4)命令行输入
CMD>python tt.py -n 'liu' --year '30'
Namespace(name="'liu'", year="'30'")
Hello 'liu' '30'
(4)查看帮助信息
CMD>python tt.py -h
usage: tt.py [-h] [-n NAME] [-y YEAR]
Demo of argparse
optional arguments:
-h, --help show this help message and exit
-n NAME, --name NAME
-y YEAR, --year YEAR
2 zlib模块压缩数据
(1)zlib.compress(string[, level])
zlib.compress用于压缩流数据。
参数string指定了要压缩的数据流.
参数level指定了压缩的级别,它的取值范围是1到9。
压缩速度与压缩率成反比,1表示压缩速度最快,而压缩率最低,而9则表示压缩速度最慢但压缩率最高。
(2)zlib.decompress(string[, wbits[, bufsize]])
zlib.decompress用于解压数据。
参数string指定了需要解压的数据.wbits和bufsize分别用于设置系统缓冲区大小(window buffer )与输出缓冲区大小(output buffer)。
# -- coding:utf-8 --
import zlib
filepath = "kafka振动信信号数据.txt"
with open(filepath,"r",encoding="utf-8") as fr:
data_str = fr.read()
data_bytes = data_str.encode("utf-8")
data_bytes1 = zlib.compress(data_bytes,zlib.Z_BEST_COMPRESSION)
data_bytes11 = zlib.decompress(data_bytes1)
data_str1 = data_bytes11.decode()
data_bytes2 = zlib.compress(data_bytes,zlib.Z_BEST_SPEED)
data_bytes22 = zlib.decompress(data_bytes2)
data_str2 = data_bytes22.decode()
print("原始字符串长度",len(data_str))
print("原始bytes长度",len(data_bytes))
print("Z_BEST_COMPRESSION压缩后长度",len(data_bytes1))
print("Z_BEST_COMPRESSION解压后长度",len(data_bytes11))
print("Z_BEST_COMPRESSION解码后长度",len(data_str1))
print("Z_BEST_SPEED压缩后长度",len(data_bytes2))
print("Z_BEST_SPEED解压后长度",len(data_bytes22))
print("Z_BEST_SPEED解码后长度",len(data_str2))
原始字符串长度 67804
原始bytes长度 67808
Z_BEST_COMPRESSION压缩后长度 15492
Z_BEST_COMPRESSION解压后长度 67808
Z_BEST_COMPRESSION解码后长度 67804
Z_BEST_SPEED压缩后长度 20567
Z_BEST_SPEED解压后长度 67808
Z_BEST_SPEED解码后长度 67804
3 常用函数
3.1 enumerate
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print(i, element)
0 one
1 two
2 three