进制
文件操作
#打开文件
f = open('文件路径', mode=;'r/w/a', encoding='原文件写入时定义的编码')
#操作
data = f.read() #读取文件的内容到内存(全部)
f.write('要写入的内容')
#关闭
f.close()
字节流写入
示例一:一般用于文字写入
f = open('a.txt', mode='w', encoding='utf-8')
f.write('你好')
# 将'你好'根据encoding指定的编码转换成二进制(字节流)
# 将二进制(字节流)写入到文件中
f.close()
示例二:一般用于图片/音频/视频/未知编码
# 不写encoding是以二进制(字节流)的方式打开。
f = open('a.txt', mode='wb')
# 以字节流的方式打开必须以字节流的方式写入,否则会报错。
f.white('你好')
# 正确步骤是先将写入内容先转化成二进制再进行写入。
f = open('a.txt', mode='wb')
data = '你好'
data.encode('utf-8')
f.white(data)
#如果拿到未知编码字节流,这里就直接写入字节流。
f.close()
字节流读取
示例一
f = open('a.txt', mode='r', encoding='utf-8')
data = f.read()
# 读取硬盘上的字节流(010101)
# 将字节流按照encoding指定的编码转换成字符串
f.close()
print(data)
示例二
f = open('a.txt', mode='rb')
# 直接读取的是二进制(字节流)
data = f.read()
f.close()
print(data)
模式
r / w / a 【只读只写字符串】▲
r+ / w+ / a+ 【可读可写字符串】
字符串转换成字节流(二进制)
v = '你好'
data = v.encode('utf-8')
print(data)
#以uft-8编码将v转换成二进制
字节流(二进制)转换成字符串
v = b'\xe4\xbd\xa0\xe5\xa5\xbd'
data = v.decode('utf-8')
print(data)
#前提是你知道字节流数据是字符串以及它的编码
r+b / w+b / a+b 【可读可写字节流】
原文:https://www.cnblogs.com/elliottwave/p/12521793.html