字符编码的实际应用
编码:
将人类能够读懂的字符编码成计算机能够直接读懂的字符
解码:
将计算机能够直接读懂的字符解码成人类能够读懂的字符
'''
字符串前面如果加了字母b 表示该数据类型为 bytes类型 bytes类型可以看成是二进制
基于网络传输数据 数据都必须是二进制格式 所以肯定涉及到编码与解码
'''


数据当初用什么编码的就以什么区解码就可以
s1 = '好好学习 天天向上'
print(s1.encode('gbk'))
s2 = b'\xba\xc3\xba\xc3\xd1\xa7\xcf\xb0 \xcc\xec\xcc\xec\xcf\xf2\xc9\xcf'
print(s2.decode('gbk'))
python2解释器默认的编码是ASCII码
1.文件头:必须写在文件的最上方 告诉解释器使用指定编码
2.字符前缀:在使用python2解释器的环境下定义字符串习惯在前面加u
文件操作简介
操作系统暴露给用户可以直接操作硬盘的快捷方式
1.打开文件、创建文件的内容
2.编辑文件内容
3.保存文件内容
4.关闭文件
结构1(了解即可):
f1 = open()
f1.close()
结构2(推荐使用):
with open() as f:
'''写路径的时候为了防止特殊符号 直接在前面加r'''
res = open(r'a.txt', 'r', encoding='utf8')
open = (r'D:\py\day09\a.txt')
'''
open(文件的路径,文件的操作模式,文件的编码)
1.文件的路径是必须要写的
2.文件的操作模式,文件的编码有时候不用写
'''
print(res.read())
res.close()
'''上述的操作open完最后都需要执行close 而close这一行很容易被遗忘'''
with open(r'a.txt', 'r', encoding='utf8') as f:
data = f.read()
print(data)

文件的读写模式
r read 只读模式:只能读不能写
w write 只写模式:只能写不能读
a append 只追加模式:在文件末尾添加内容
路径不存在:直接报错
with open(r'b.txt', 'r', encoding='utf8') as f:
with open(r'a.txt', 'r', encoding='utf8') as f1:
f1.write('python是最牛逼的语言!!!')
'''
able在英语中大部分情况下表示的是 具备...的能力
readable 具备读的能力
writable 具备写的能力
'''
with open(r'b.txt', 'w', encoding='utf8') as f1:
with open(r'a.txt', 'w', encoding='utf8') as f1:
f1.write('你们是我见过的最优秀一批学生1\n')
f1.write('你们是我见过的最优秀一批学生2\r')
f1.write('你们是我见过的最优秀一批学生3\n')
print(f1.read())
"""
换行 最早的时候:\r\n
为了节省空间支持一个字符 根据操作系统的不同可能有所区别
\n 、 \r
"""
路径不存在:自动创建文件
with open(r'a.txt', 'a', encoding='utf8') as f:
pass
路径存在:不会清空文件内容 而是在文件末尾等待新内容的添加
with open(r'a.txt', 'a', encoding='utf8') as f:
f1.write('你好')
print(f.read())

文件的操作模式
文本模式 是默认的模式
r rt
w wt
a at
1.该模式只能操作文本文件
2.该模式必须要指定encoding参数
3.该模式读写都是以字符串为最小单位
二进制模式 可以操作任意类型的文件
rb 不能省略b
wb 不能省略b
ab 不能省略b
1.该模式可以操作任意类型的文件
2.该模式不需要指定encoding参数
3.该模式读写都是以bytes类型为最小单位
文件内置方法
read()
1.执行完之后光标在文件末尾 继续读取没有内容
2.当文件内容特别大的时候 容易造成内存溢出(满了)
readline()
readlines()
readable()
支持for循环
write()
writelines()
writable()
flush()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人