Python文本处理

来自CloudWiki
Cloud17讨论 | 贡献2020年1月17日 (五) 00:10的版本 (创建页面,内容为“==Python编码解码== <nowiki># -*- coding: utf-8 -*- # 本文件应该保存为utf-8编码,否则会报错 str = "我是中国人" print(f'Unicode字符串为"…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Python编码解码

# -*- coding: utf-8 -*-
# 本文件应该保存为utf-8编码,否则会报错

str = "我是中国人"
print(f'Unicode字符串为"{str}"')
byte0 = str.encode("utf-8")
print(f'Unicode字符串"{str}"以utf-8编码得到字节串[{byte0}]')
str0 = byte0.decode("utf-8")
print(f'将utf-8字节串[{byte0}]解码得到Unicode字符串"{str0}"')
byte1 = str.encode("gbk")
print(f'Unicode字符串"{str}"以gbk编码得到字节串[{byte1}]')
str1 = byte1.decode("gbk")
print(f'将gbk字节串[{byte1}]解码得到Unicode字符串"{str1}"')

print(f'以文本方式将Unicode字符串"{str}"写入a.txt')

with open("a.txt", "w", encoding="gbk") as f:
    f.write(str)

print("以文本方式读取 a.txt 的内容")
with open("a.txt", "r", encoding="gbk") as f:
    print(f.read())

Python文件读写

# -*- coding: utf-8 -*-

f = open("wb.txt", "w", encoding="utf-8")
f.write("测试w方式写入,如果文件存在,则清空内容后写入,如果文件不存在则创建\n")
f.close()

f = open("wb.txt", "a", encoding="utf-8")
f.write("测试a方式写入,如果文件存在,在文件内容后最后追加写入,如果文件不存在则创建")
f.close()

f = open("wb.txt", "r", encoding="utf-8")
# 以文本方式读,f.read()返回字符串对象
data = f.read()
print(type(data))
print(data)
f.close()

f = open("wb.txt", "rb")
# 以文本方式读,f.read()返回字节对象
data = f.read()
print(type(data))
print(data)
print('将读取的字符对象解码:')
print(data.decode('utf-8'))
f.close()