【python】UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 128: illegal multibyte se

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 128: illegal multibyte sequence

说到底是open()使用方法。

原本程序是这样的:(重点看第4行)

from tkinter import *
import os
def openFile():
    f = open('D:\Pythoncharmprojccts\SC\main_window.py',mode='r')
    while True:
        data = f.readline()
        if not data : break
        print(data)
    f.close()#关闭文件


root = Tk()
root.title('openfile')
root.geometry('500x500')

menuBar = Menu(master=root)#将menuBar添加到root窗口中,新建
root.configure(menu=menuBar)#通过configure方法绑定,添加

fileMenu = Menu(master=menuBar,tearoff=0)#新建teroff=0,下拉菜单去掉虚线,不用单独的为一个窗口
editMenu = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label='File',menu=fileMenu)#添加
menuBar.add_cascade(label='Edit',menu=editMenu)

newMenu = Menu(fileMenu)
openMenu = Menu(fileMenu)
saveMenu = Menu(fileMenu)
copyMenu = Menu(editMenu)
markMenu = Menu(editMenu)
pasteMenu = Menu(editMenu)#新建

fileMenu.add_command(label='New')
fileMenu.add_command(label='Open',command=openFile)
fileMenu.add_command(label='Save')
editMenu.add_command(label='Copy')
editMenu.add_command(label='Mark')
editMenu.add_command(label='Paste')#添加

# doc = Text(root)
# doc.pack()
root.mainloop()

更改方法:

需要更改第4行新加encoding='UTF-8'。

第4行换为

f = open('D:\Pythoncharmprojccts\SC\main_window.py',mode='r',encoding='UTF-8')

 

你可能感兴趣的:(python)