字符编码,文件管理
3月22日博客
复习:
元组:相当于不可变列表
定义:()小括号 t=(1,2,‘a’)
补充:t=(1,‘a’)
只有读的需求,没有取
常用操作: 依靠索引和不依靠索引
依靠索引: t=(1,2,3‘a’)
i=0
while is<len(t):print(i)
for in rang (len(i)):
不依靠
for item in t :
print(item)
list(‘hello’)
print(‘hello’)
定义字典: d={‘x’:1}
必须不可变 key vvlue 任意类型
用途:存多个值,每一个都有一个对应的关系
Egon={‘name’,’age’:18}
‘hobbies’=[‘red’]
集合:无序
交集:% 并集:| 补集:^ 交叉补集:-
数据类型总结:按存在值个数区分:标量 数字,字符串 可变:列表字典
容器类型:列表,元组,字典 不可:数字,字符 元组
二,字符编码:
1, 知识储备 CPU 内存 硬盘
2, 文本编辑器原理:结论:在编写py的程序的时候,是没有语法的限制的,编写的结果跟编写写一个普通文本文件是没有任何区别
3, Python执行三个阶段:(1)打开python解释器(2)读取文件(3)解释执行 识别语法
4, 文本编辑原理
(1) 什么是字符编码 :人类字符—翻译—数字 翻译过程编写遵守一个标杆:字符与数学—对应的关系,这个标准之内为字符编码。
(2) ASII: 8bit=16ytes,一个英文占员工字节
(3) GBK: 16bit=2bytes,2个字符表示一个中文符,1字节符表示一个中午符,1字节一个英文字符
5, 解决乱码问题的核心:用什么存的就用什么取。强调:我们能控制是存在硬盘上的代码。
6, Python3解释器默认UTF-8 PYTHON2 :默认ascii编码
7, #coding:gbk,文件头告诉解释器
8, 文件头的作用:#coding:utf-8是告诉pytho解释器用我指定编码
9, 执行python程序的第三阶段发生的事
会识别python语法,定义的字符串类型又涉及到字符编码概念。
10,转换:unicde---编码—gbk gbk—解码decode—Unicode
总之我们用存什么,就用什么取。
三,文件处理
1打开文件 2 读/写 3 关闭文件
1,#f=open(r‘文件的路径,mode‘打开文件的模式’,encodig=‘操作文件的字符编码’)
F=open(r‘a.txt’mode=‘r’)
2 读写:data=f。read()
Print(data)
3关闭文件
F.colse()#回收操作系统的资源
Print(f)
With(管理文件上下操作)
With open(r‘a.txt,mode=’r’)os f:
Print(“===>”)
Print(f.read())
文件的操作:
F=open(‘a.txt’)#默认打开文件的模式是rt模式,r代表只读,t代表文本文件
#默认的打开文件的编码是:win gbk linux utf-8
Print (f.read())
f.close()
# 文件的打开模式# 文件默认的打开模式是t模式:文本模式
操作文件的模式有三种:r w a
#r:默认的打开方式模式:
#注意,当文件不存在,报错
F=open(‘a.txt’,node=’r’,enoding=’utf-8’)#mode=’rt’
f.write(‘df地方\n’)不能写
F=open(‘a.txt’,node=’r’,enoding=’utf-8’)#mode=’rt’
Print(‘=====>1’)
Print(f。read())
Print(‘=====>2’)
Print(f.read())
f.close()
w模式 只写模式
#注意 :当文件不存在时,创建新的,当文件存在就清空
F=open(‘a.txt’,node=’r’,enoding=’utf-8’)#mode=’rt’
F.write(’第一行’\n)
F.write(‘第二行\n’)
f.writelines([])可以把列表里的值写进去
f.write(‘aaaa’,‘dfhhj’)写多行
a模式(追加写模式 )运行一次加一行
注意:在文件不存在,创建空文件,当文件存在,光标直接跑文件末尾
F=open(‘a.txt’,node=’a’,enoding=’utf-8’)#mode=’rt’
F.write(‘5555\n’)
F.close()