1.字符编码 文件处理
软件器动流程
1.从硬盘加载到内存
2.加载文件到内存
3.代码加载文件内容,如果是文本编辑器,屏幕打印,解释器是把
代码转换成cpu的指令级
2.内存中用unicode,硬盘和网络中用utf-8 windows默认gbk,linux默认utf-8
3.在读取和存的时候编码方式不一样 找到正确的编码方式可恢复
4.encode("utf-8") unicode - > utf-8
decode("utf-8") 将二进制转换为unicode
encode和decode分别指编码和解码
str3 = u.encode('utf-8') # 以utf-8编码对u进行编码,获得bytes类型对象
文件处理
语法一
1.打开
f=open(file,"r",encoding)
2.读取
data=f.read()
print(data)
3.关闭文件
f.close
语法二
# with open(file,"r") as f:
# line=f.read()
# print(line)
语法执行完后会自动执行close
读取文件内容
mode 打开文件的模式
r只读 w只写
r+可读可写
read(默认全部读取,添加参数代表读取多少,文件较小可以默认)
with open(file,"r") as f:
# line=f.read()
# print(line)
readble判断可读给Ture否则为False
f=line.readable()
print(f)
readline()读取一行
# lines = line.read()
# lines=line.readlines()
# while True:
# lines = line.readline()
# if not lines:
# break
# print(lines)
b模式只能写入字节
readlines()读取全部,每一行放在列表里
f=line.readlines()
print(f)
写文件内容,原本文件不存在会创建
在w模式下,先清空该文佳
writelines()迭代写入文件
import sys
file=r"D:\360MoveData\Users\11419\Desktop\apple2.txt"
with open(file,'w',encoding="utf-8") as line:
# line.write("apple\napple")
line.writelines("\n".join(["as","cd"]))
write()
line.write("appleapple")
追加写入a会把光标移动到最后,不会清空
可读可写+
r+ 源文件不存在 会报错
w+ 清空原文件可创建
a+ 不存在可创建