橘猫橘猫 发表于 2021-1-23 17:34:19

课后作业35讲动动手第二题

各位大大,求助{:10_291:}
35讲动动手2. 提供一个文件夹浏览框,让用户选择需要打开的文本文件,打开并显示文件内容。1
我的代码:
import easygui as eg
import os

file_name_path = eg.fileopenbox(msg='请选择要打开的文件',title='选择文件',
                              filetypes = ['*.txt'])
file = open(file_name_path)
msg = '文件【%s】的内容如下' % os.path.basename(file_name_path)
title = ''
eg.textbox(msg,title,text=file.read())


刚开始打开的时候还可以打开并显示文本内容,但之后再次打开的时候就提示:{:10_243:}
Traceback (most recent call last):
File "C:\Users\31569\Desktop\text.py", line 9, in <module>
    eg.textbox(msg,title,text=file.read())
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 16: illegal multibyte sequence

这是为啥呀

liuzhengyuan 发表于 2021-1-23 17:39:46

https://fishc.com.cn/thread-174431-1-1.html
第 003 条

昨非 发表于 2021-1-23 17:41:03

本帖最后由 昨非 于 2021-1-23 17:46 编辑

编码方式问题,gbk不行,改成utf-8再试试应该就没问题了
import os
import easygui as eg

file_name_path = eg.fileopenbox(msg='请选择要打开的文件',title='选择文件',
                              filetypes = ['*.txt'])
file = open(file_name_path,encoding="UTF-8")    #这行加个编码方式
msg = '文件【%s】的内容如下' % os.path.basename(file_name_path)
title = ''
eg.textbox(msg,title,text=file.read())

遇到报错内容看不懂大可复制去百度翻译上翻译成汉字看看到底咋回事
然后就着问题来论坛搜索栏里一搜就遍地答案了(这个问题很常见的)
自己学会解决问题才是最重要的

hgs731 发表于 2021-3-6 11:27:41

昨非 发表于 2021-1-23 17:41
编码方式问题,gbk不行,改成utf-8再试试应该就没问题了




页: [1]
查看完整版本: 课后作业35讲动动手第二题