sys
sys.argv 可以从程序外面向程序中进行传参,一般适用于命名行为
运行文件的命令:python filepath argv1,argv2…
sys.exit(code) code为0则表示程序正常结束,如果为其他数字则表示异常 退出程序
结束一段代码,根据需求,可以尝试采用break,return【只是用在函数中】,
sys.getdefaultencoding() 打印字符编码格式
sys.getfilesystemencoding() 打印字符编码格式
print(‘fhajkfg’,file=open(r’a.txt,‘w’) 打印到控制台
print(‘fsdafsf’,file=sys.stdout) 打印到文件中
base64
base64是一种由64个字符来表示任意二进制数据的符方法
base64是常见的二进制编码格式
原理: 对二进制数据进行处理,每三个字节为一组,总共3*8=24位,化为四组,每组
为6位,会得到4个索引【二进制转换为10进制】,然后通过该索引进行查表获取相应的字符
就是编码之后的字符
编码a=base64.b64encode(b’sdfasdaf123’)
解码base64.b64decode(a)
安全编码,专门针对+和/
print(base64.urlsafe_b64decode())
base64就是一种通过查表的编码方式,不能用于加密,类似于encode或者encode maketrans和translate
base64是一种任意二进制到文本字符的编解码方式,使用场景:coockie,session,在网页中
传递少量的二进制数据
itertools
提供了一些操作迭代对象的函数,包含无限迭代器
1、count()
r1=itertools.count(1100) 从1开始步长100的无限迭代器
2、cycle()
r2=itertools.cycle(“abcd”)
3、repeat()
r3=itertools.repeat(‘a’,5)
4、chain()
itertools.chain(‘abc’,‘xyz’)
print(r4)
for n4 in r4:
print(n4)
5、groupby()
r5=itertools.groupby(“aaaaabbcccc”)
for n5 in r5:
print(n5)
注意: itertools其中全部都是操作迭代对象的函数,但是,得到的结果并不是list
而是iterator,
作用类似于生成器,只有迭代使用
String模块
1、获取所有的字母,包括大小写
print(string.ascii_letters)
2、获取所有的大写字母或者小写字母
print(string…ascii_uppercase)
print(string.ascii_lowercase)
3、获取所有的数字
print(string.digits)
4、获取把进制或者十六进制字符
print(string.octdigits)
print(string.hexdigits)
5、获取所有可以被打印的字符
print(string.printable)
6、获取所有的标点符号
print(string.punctuation)
7、获取所有的空白字符
print(string.whitespace)
md5
md5=haslib.md5()
md5.update(‘hfjakht’.encode(‘utf-8’))
可以分步执行
print(md5.hexdigest())
sha1
md5=haslib.sha1()
md5.update(‘hfjakht’.encode(‘utf-8’))
可以分步执行
print(md5.hexdigest())
越安全的算法,不仅计算速度慢而且摘要会更成
使用场景,看看是否被篡改过
collection
1、namedtuple()
#需求:使用不同的方式表示圆心【x和y】
Point=namedtuple(‘Point’,[‘x’,‘y’])
p=Point(5,7)
print(p.x,p.y)
nametuple 是一个函数,它用来创建一个自定义元组,规定了元组中元素的个数,并通过面向对象中属性的方式访问元组,但是,保持了元组的不可变性。
2、deque()
使用list来存储数据时,按照索引进访问元素很快,但是插入和是删除的速度较慢,
因为list是线性村数,所以插入和删除效率较低
deque队列是实现高效插入和删除的双向列表,适用于队列和栈
list:
增:append()追加到末尾,extends()追加到末尾,insert()可以在默认的位置插入
删:remove() pop()
deque:
增:append()追加到末尾, appendleft() 追加到头部
删:pop()删除末尾元素 popleft()删除头部
3、defaultdict(func)
func如果访问了不存在的key,则直接报错
dict1={a:1}
r0=dict1.setdefault(“a”,100)
print(r0)
4、OrderedDict类
5、Counter
data=‘sdfadasfasdf’
for ele in data:
c[ele]+=1
print©