文件
open语法
open(name[, mode[, buffering]])
name
为文件按路径,
mode
为模式参数,这个东西比较困扰我,遂从《Python基础教程》第十一章摘出来
值 | 含义 |
---|---|
‘r’ | 读模式(默认) |
‘w’ | 写模式 |
‘a’ | 追加模式 |
‘b’ | 二进制模式 |
‘+’ | 读/写模式 |
buffering
是有无缓冲,0是无,1是有,大于1是缓冲区的大小,小于零是使用默认缓冲区。
文件的读方法是每次打开后,依次读下去,在close后清零。
f = open('test.txt', 'w')
f.write("xiaoming is good boy\n")
f.write("xiaoming is good boy\n")
f.write("xiaoming is good boy\n")
f.close()
# open 默认模式类型为'r'
f = open('test.txt')
# read的入参为都多少字符,也可以用readLine
print(f.read(4))
# 会接着读
print(f.read(4))
print(f.readline())
# readlines() 继续读取所有行
print(f.readlines())
f.close
hashlib
hashlib
提供md5,sha,blake(这个是啥)等非对称加密算法。md5和sha256以下的算法都是不安全的,商用环境请勿使用。
# This tuple and __get_builtin_constructor() must be modified if a new
# always available algorithm is added.
__always_supported = ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512',
'blake2b', 'blake2s',
'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512',
'shake_128', 'shake_256')
SHA256具体用法如下:
import hashlib
# 实例化一个代码密钥的sha256对象,这个key不是必传的
key = '123456'
sha256 = hashlib.sha256(key.encode('utf-8'))
# 加密
sha256.update('111111'.encode('utf-8'))
# 转成字符串输出
encrypted_str = sha256.hexdigest()
# 转成16进制
encrypted_byte = sha256.digest()
print(encrypted_str)
# 71b46b195f0a0560dd2ab0bc4acf2af4d9055349bc5e181701250d3266e1662f
print(encrypted_byte)
# b'q\xb4k\x19_\n\x05`\xdd*\xb0\xbcJ\xcf*\xf4\xd9\x05SI\xbc^\x18\x17\x01%\r2f\xe1f/'