使用 open() 报错
File "E:\python3\di1gexiangmu20231219\ex20.py", line 10, in print_all print(f.read()) ^^^^^^^^ UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence
默认情况下,open()命令打开文本内容时,采用的编码方式为gbk或者UTF-8。
而在ShellPower命令行中使用echo创建.txt文件时,编码默认为UTF-16。
故我们在获取文件内容时应保持一致,open()内固定encoding为UTF-16。
print(f.read(), encoding = "UTF-16")
- 39 position decode codec 0xff39 position decode codec 39 decode query attributeerror unicodedecodeerror multibyte 39 position unicodedecodeerror byte 39 position unicodeencodeerror characters 39 position unicodedecodeerror 39 position ordinal unicodedecodeerror unexpected 39 position unicodedecodeerror 39 position multibyt unicodedecodeerror 39 position invalid byte 39 position invalid