备知识点:
1,计算机系统分为三层:
应用程序层
操作系统层
计算机硬件
2.,运行python程序的三个步骤
1. 先启动python解释器
2. 再将python文件当做普通的文本读入内存
3. 解释执行读入内存的代码,开始识别语法
字符编码
1. 什么是字符编码
字符编码表: 人类的字符<---------------->数字
lBytes=8bit
lB=8b 1字节等于8个二进制
ASCII码:只能识别英文字符,1个英文字符=8bit
8个二进制bit(比特位)位表示一个英文字符
GBK:能识别汉子与英文,1汉字=16bit,1英文字符=8bit shif_JIS
EUC-Kr
un i code:能够识别万国字符,1字符=2Bytes=16bit
两大特点:
1, 能够兼容万国字符
2, 与各国的字符编码都有样式关系
utf-8:是un i code的转换格式,1个英文字符=1Bytes 1汉字=3Bytes
重点:
1/ 编码与解码:
字符----编码-->uncode的二进制-----------编码------->GBK的二进制
GBK的二进制------解码-->unicode的二进制----解码--->字符
2/ 解决乱码问题的核心:
字符用什么编码格式编码的,就应该用什么吧, 格式进行解码
3/ python解释器默认的字符编码
python2:ASCII
python3: UTF-8
通过文件头可以修改python解释器默认使用的字符编码
在文件首行写: #coding:文件当初存的时候用的字符编码
2. 为何字符要编码
人类与计算机打交道用的都是人类的字符;计算机无法识别人类的字符,只能识别二进制,所以必须将人类的字符编码改成计算机能识别的二进制数字
今日内容:
1,字符编码
1. str类型的演变过程
2. 程序不乱的解决方案
3. 文本文件件的处理
2, 文件处理
1 基本操作的处理器open
2 操作文件的模式:
r w a
t b +
3. 文件操作的方法rrad,write
4. 修改文件的两种方式
1, 什么是文件
文件是操作系统提供给用户/应用程序的一种虚拟单位,该虚拟单位直接央视的是硬盘空间
2,为何要处理文件
用户/应用程序直接操作文件(读/写)就被击中系统转换成具体的硬盘操作从而实现
用户/应用程序内存中的数据永久保存的硬盘中
3, 如何用文件
# 文件处理的三个步骤
# f=open(r'c.txt',mode='r/encoding='utf-s')# 文件对象(应用程序的内存资源)------》 操作系统打开的文件(操作系统的难处资源)
# print(f)
# data=f.read()
# f,close() @向操作系统发信号,让操作系统关闭打开的文件,从而收回操作系统的资源
# 上下文件管理
# with open(r'c. txt'.mode='r'.encoding='utf-8') as f.open(r'.txt'.mode='r'.encoding' utf-8') as fi:
#读写文件的操作‘
# pass
# 文件的打开模式: r (默认的)w a
# 操作文件内容的模式
# t (默认的): 、操作文件内容的是以字符串为单位,会自动帮我们解码,必须指定encoding参数
# 总结:t模式只能用于文件本文件,而b模式可以用于任意文件
#r,模式: 只读模式,在文件不存在时则报错,如果文件存在文件指针跳到文件开头
# with open(r',ctxt',mode='rt',encoding='utf-8')as f:
# print(f,read())
# print (f,readable())
# f,write('hello') # 只能读
# data=f,read()
# print(data,tvpe(data))
# with open (r'c,txt',mode='rb) as f:
# data=f,read()
# # print(data,type(data))
# res=data.decode('utf-8;)
# print (res)
# winter open(r'c.txt',mode='rt', encoding='utf-8') as f:
# # line=f,readline()
# # print(line,end='")
# linel=f,readline()
# # print(linel,end='')
# # line2=f,read;ine()
# # print (linr2,end=;;)
# lines=f.readlines()
# print(lines)
# wi th open(r'c,txt',mode='rt',encoding=' ut-8') as f:
# line=f,readline()
# print(line,end='')
# 循环读文件内容的方法:
wint open(r'c,txt.mode='rt'. encoding=;utf-8) asf:
for line in f:
print(line.end='')