015 Python语法之文件结束

1. 数据分割问题

  1. 用二进制(“rb”)进行打开文件
  2. 然后用decode(“gbk”, errors=”ignore”)
  3. 这个时候就可以看出用什么对数据进行分割的了

2. bytes数据类型(二进制类型)

  1. b”abcd\x64”这个是二进制数据,打印出来为b’abcdd’
  2. 二进制数据不能对某个元素赋值,和字符串一样
  3. abcd是明确字符,\x开头的是16进制的字符

3. 二进制编码 encode(“utf-8”)

mystr = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。"
print(mystr.encode("utf-8"))

4. 二进制解码decode(“utf-8”,errors=”ignore”)

print("锄禾日当午".encode("utf-8").decode("utf-8",errors="ignore"))

5. 进制

进制描述
b二进制
o八进制
x十六进制
进制注意点
  1. 进制不能超过进制最大数

6. 加密解密

  1. 加密解密可以通过数据挪位
加密
# 1. 路径
orginPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmail.txt"
objectPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmailJiaMi.txt"

# 2. 文件
orginFile = open(orginPath, "rb")
objectFile = open(objectPath, "wb")

# 3. 数据处理
while True:
    ch = orginFile.read(1)
    if not ch:
        break
    if chr(ord(ch)) != "\n":  # 如果是换行就不加密
        ch = bytes(chr(ord(ch) ^ 2), encoding="utf-8")
    objectFile.write(ch)

# 4. 文件关闭
orginFile.close()
objectFile.close()
解密
# 1. 路径
orginPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmailJiaMi.txt"
objectPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmailJieMi.txt"

# 2. 文件
orginFile = open(orginPath, "rb")
objectFile = open(objectPath, "wb")

# 3. 数据处理
while True:
    ch = orginFile.read(1)
    if not ch:
        break
    if chr(ord(ch)) != "\n":  # 如果是换行就不加密
        ch = bytes(chr(ord(ch) ^ 2), encoding="utf-8")
    objectFile.write(ch)

# 4. 文件关闭
orginFile.close()
objectFile.close()
二进制加密
  1. 二进制加密汉字需要进行正则表达式处理,因为汉字占两个字节
  2. 纯英文没有问题

7. 哈希算法提速

1. 通过字典进行哈希算法加速,原理是通过键拿值

总结

今天做了一些优化的问题,内存不够真伤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值