其他分享
首页 > 其他分享> > 6.29 学习内容

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