ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6.29 学习内容

2022-06-30 01:01:57  阅读:146  来源: 互联网

标签:编码 文件 utf8 encoding 学习 内容 字符 open 6.29


昨日内容回顾

  • 垃圾回收机制
1.引用计数
	数据值身上被引用(数据值被变量名关联的次数)
	只要引用次数不为0就不会被清除
	ps:循环引用(两个列表相互追加)
2.标记清除
	专门针对循环引用而生
3.分代回收
	垃圾回收机制每隔一段时间就会对所有的数据值排除一次继续扫描标记消耗资源过多
	所有对数据值值进行分类(引用计数的数目、使用的频率)大大的降低消耗的频率
  • 字符的编码简介
1.只有文本文件才有编码的概念
2.计算机内部存取数据的本质(二进制)
	计算机只认识0和1
3.为什么计算机能够敲出各国的语言
	因为计算机不认识我们人类的语言,所以我们人类就定义了一种数据转换关系
4.转换关系不能随便改变 应该有统一的标准
	字符编码表 记录了人类的字符和数字的转换关系
  • 字符编码的发展史
1.一家独大
	计算机是由美国人发明的 美国人需要计算机来识别英文
	ASCII编码表:内部记录了英文字符和数字的转换关系
2.群雄割据
	中国后来发明了属于自己编码编码表
	GBK编码表:记录了中文,英文字符和数字的转换关系

	韩国相对应的编码表
	EUS_kr编码表:记录了韩文,英文字符和数字转换关系

	日本相对应编码表
	shift_JBS编码表:记录了日文,英文字符和数字转换关系
'''此时各国的计算机之间无法之间交互文本数据'''
3.天下统一
	万国码:unicde(兼容万国字符)
	utf家族(针对unicde的优化)utf8
'''内存用的是unicde,硬盘用的是utf8'''
  • 字符编码的编码的实操
1.只有字符串可以参与解码和编码,其他类型需要转换成字符串才行
2.如何解决乱码
	当时用什么编码存的就用什么来解
3.编码与解码
	关键字:encode('utf8') # 编码
	关键字:decode(gkb) # 解码
4.解释器层面
	phthon2默认的编码表是:ASCII
	python3默认的编码表:utf8
  • 文件的操作简介
1.文件的本质
	文件其实就是计算机操作系统暴露给用户操作计算机的硬盘快捷方式之一
2.打开文件的两种方式
	方式一:
		f = open()
		f.close()
	方式二:
		with open() as 变量名

今日内容

  • 文件读写模式
'''补充知识
1.with语法支持一次性打开多个文件
ith open(r'a.txt', 'r', encoding='utf8') as f1, open(r'b.txt', 'r', encoding='utf8') as f2, open(r'c.txt', encoding='utf8') as f3...:
2.补全python语法 但是不执行任何操作
	 pass 推荐使用
	 ...不推荐使用
3.通常情况下英语单词的结尾如果加上了able表示基本该单词的描述的能力
	readable  具备读取内荣的能力
	writable  具备填写内容的能力
'''
r(默认的):只读
r 模式的使用
	with open('a.txt','r',encoding='utf8')as f:
	res =f.read()
	print(res)
在文件不存在时则会报错 文件存在时会打开等待读取文件内容
w:只写
w 模式的使用
	with open('b.txt','w',encoding='utf8')as f:
	f.write('你们好\n')
	f.write('我好\n')
在文件不存在时会创建空文档 文件存在会清空内容之后等待填写新内容
a:只追加写
a 模式的使用
	with open('c.txt','a',encoding='utf8')as f:
	f.write('你们好\n')
	f.write('我好\n')
在文件不存在时会创建空文件 不会清空该文件内容 只会在文件末尾等待填写新内容
  • 文件的操作模式
1.文本模式 t
文件操作的默认模式
	r   rt
	w   wt
	a   at
1.只能操作文本文件
2.必须指定encoding参数
3.读写都是以字符串为单位
2.二进制模式
	rb wb ab  必须自己指定 不能省略
1.能够操作所有类型的文件
2.不需要指定encoding参数
3.读写都是以bytes
  • 文件的诸多操作文芳
read() # 一次性读取文件内容并且光标会停在文件末尾 继续读则为空
raeddline() # 一次只读一行内容
readlines() # 按照行的方式读取所有的内容并组织成列表的方式返回
readable() # 判断文件是否可读
writable() # 判断文件是否可写
write() # 填写文件内容
writelines() # 支持填写容器类型,内部可以可以存放多个数据值类型
flush # 将内存中文件数据立刻刷到硬盘(相当于主动帮ctrl+s)
# 今日内容详细
'''当数据文件比较大时,不建议一次性读取'''
可以使用 for循环读取 文件可以支持 for循环一次只读以行
	for line in f
	print(line)

标签:编码,文件,utf8,encoding,学习,内容,字符,open,6.29
来源: https://www.cnblogs.com/lisony/p/16425194.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有