- 字符编码
- 什么是字符编码
- 人类语言翻译为二进制,翻译的过程称之为字符编码
- 保存不是目的,能取出来才是目的
- 要想保存翻译分结果则保证采用相同的规范,也就是字符串
- 乱码发生的两种情况
- 1.存的时候使用的编码与取的时候的不同
- 存的时候,出现了编码表中不存在的字符,例如既有英文,又有中文,但是采用了ascll来编码
- 保证不乱码
- 解释器在读取文件后识别语法,当在定义字符串变量时又涉及到编码问题
- py2中默认采用ascll,也可以使用coding来指定,但也有乱码的可能:当coding为gbk,而输出字符时采用utf-8
- py3中默认采用unicode,并且coding也只能修改前两阶段解码过程,无法修改定义变量的编码
- encode和decode
- 文件处理
- 文件是操作系统提供的一套虚拟接口,用于简化对硬盘的操作,一个文件就代表硬盘上的一段二进制数据,学习文件处理是为了将数据永久保存
- 基本形式
- 打开文件语法
f = open(r"文件路径",mode="rt",encoding="utf-8") f.read() f..write() f.close()
- 语法2
with open(r"文件路径",mode="rt",encoding="utf-8") as f: pass
- 打开文件的模式
默认为t模式 即文本操作模式 r == rt 只读文本 w == wt 只写文本 a == at 追加写文本
- 无论是读还是写 都需要指定编码方式,如果不指定 windows默认为GBK linux默认UTF-8
- 操作数据都是字符为单位
- a 和 w 都是写入模式,如果文件不存在都会创建新文件
- 不同的是 w会清空源文件 a不会情况且会将光标移动文件末尾
- b模式
b表示字节模式 与文本相同在于 都必须与r、w、a连用 rb 只读字节模式 wb 只写字节模式 ab 追加只写字节模式 b模式可以操作任意类型的文件
- 可读可写
+ 表示可读可写模式 也不能单独使用
- r+ == r+t 直接写入 会把元数据覆盖掉
- w+ == w+t 打开就清空 所以读不到
- a+ == a+t 打开就移动光标到末尾 也读不到
- 可读可写字节模式
- r+b 直接写入 会把元数据覆盖掉
- w+b 打开就清空 所以读不到
- a+b 打开就移动光标到末尾 也读不到 仅仅是单位不同
- 每一个都有问题 所以可读可写并不常用
posted @
2019-01-08 15:47
七天小圣
阅读(
101)
评论()
收藏
举报