python二进制、字符编码及文件操作

1. 二进制

bin()十进制转二进制 0b
oct()十进制转八进制 0o
hex()十进制转十六进制 0x,4个二进制对应1个16进制,用于网络编程,数据存储

print(int('110111',2)) = 55
print(int('ffff',16)) = 65535
print(int('7777',8)) = 4095

2. 字符编码

1476661-20190422125908853-127417765.png
ASCII码,8位,1个字节,8bit=1bytes
GB2312,汉字
GBK1.0,繁体
GB18030,少数名族
Unicode,万国码,支持所有语言,全部2个字节,对所有语言有映射关系
UTF-8,对Unicode编码的压缩和优化,ASCII的1个字节,欧洲字符2个字节,东亚字符3个字节

3. 文件

with open (r'a1.txt',r)as f1,open() as f2:
不需要close
乱码情况,什么保存什么读取,win:gbk encoding=‘utf-8’
默认打开模式,r,默认操作模式,r,w,a
修改文件两种方式,全部读入内存,修改,修改后全部写入原文件;以读的方式打开原文件,以写的方式打开新文件,一行一行边读边改

3.1 打开方式

  • r,默认rt,只读,read,readlines
  • w,只写,write,覆盖,writelines,可写列表
  • a,只追加,光标到末尾
  • b,读取二进制,decode可以还原,二进制模式写,汉字.encode
  • 混合模式,r+读写,w+写读
  • 文件只能存字符串用,可以用eval还原存入的数据类型

3.2 文件操作

  • seek,按字节移动,汉字3个,中间写入会覆盖数据,修改方法:全部读入内存修改,用replace替换,for in f 一行一行读取修改,os模块remove原来文件,rename新文件
  • tell
  • read,read(2),读2个字符
  • fileno,返回文件句柄在内核中的索引
  • fluse,强制从缓存刷新到硬盘
  • readable
  • readline
  • seekable
  • truncate,从当前位置开始,后面的删掉;加上值,从值后面开始删

转载于:https://www.cnblogs.com/qiuyicheng/p/10749013.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值