运行txt脚本,提示encoding错误!

图片说明

查到原编码方式为GB2312,但输进去后运行依然报错:
图片说明

请问各位大腿这个如何怎么处理?
#coding=utf-8
import wx
class MyFrame(wx.Frame):
def init(self,parent,id):
wx.Frame.__init__(self,parent,id,title='文本输入框',size=(400,300))
panel=wx.Panel(self)
self.Centre()
self.a=wx.StaticText(panel,label='请输入用户名及密码',pos=(140,20))
self.b=wx.StaticText(panel,label='用户名',pos=(50,50))
self.c=wx.TextCtrl(panel,style=wx.TE_PROCESS_ENTER,pos=(100,50))
self.d=wx.StaticText(panel,label='用户名',pos=(50,90))
self.e=wx.TextCtrl(panel,style=wx.TE_PROCESS_ENTER,pos=(100,90))
self.c.Bind(wx.EVT_TEXT_ENTER,self.Ok)
self.e.Bind(wx.EVT_TEXT_ENTER,self.Ok)
self.f=wx.Button(panel,label='确定',pos=(50,150))
self.f.Bind(wx.EVT_BUTTON,self.Ok)
self.g=wx.Button(panel,label='取消',pos=(250,150))
self.g.Bind(wx.EVT_BUTTON,self.Cancel)
def Ok(self,event):
username=self.c.GetValue()
password=self.e.GetValue()
if username=='' or password=='':
message='用户名或密码不能为空!'
elif username=='abc' and password=='112233abc':
message='登录成功!'
else:
message='登录名或密码错误!'
wx.MessageBox(message)
def Cancel(self,event):
self.c.SetValue('')
self.e.SetValue('')

if name == '__main__':
app=wx.App()
frame=MyFrame(None,-1)
frame.Show()
app.MainLoop()
源码奉上,就是一个基于wxpython的GUI练习,也成功了。想着保存下来每次打开让其自动运行出现窗口,结果就是上面的报错。

3个回答

错误提示的是, 错误的使用了 tab和空格缩进代码行!python的结构缩进,要么全用tab,要么全用空格,不能混用

Jn0826
記憶‘der 回复学而不思则罔,思而不学则怠: 多谢提示!我按照你的说法,复制进去后,重新调整了每一行的缩进(哪怕调整前后看上去一样),这之后就能正常运行了!多谢!
11 个月之前 回复
SpiritedAway1106
积跬步以致千里。 回复記憶‘der: 我本地新建一个txt,改名.py,粘贴代码,调整缩进,正常运行,找了俩机子,没法复刻你的问题……
11 个月之前 回复
Jn0826
記憶‘der 回复学而不思则罔,思而不学则怠: 源码已更新,请忽略缩进,复制过来就这样了。
11 个月之前 回复
SpiritedAway1106
积跬步以致千里。 回复記憶‘der: 嗯呢好吧,有源码的话可以发下源码,不好排查
11 个月之前 回复
Jn0826
記憶‘der 这个提示有误导的意思,代码本身没问题,回复小黑LLB: 代码没问题,一行一行复制,完美运行,就是一个GUI,识别按钮和回车事件。但如果整体另存,再打开时就会提示,当前程序的encode方式不适用python3,需要转化为utf-8,但按照它的步骤操作还是报错。代码本身没问题,就是涉及一个encode方式的转化,不知道怎么处理。网上方法也试了下,但没解决。
11 个月之前 回复

可以尝试,创建一个空白的.py文件,再把代码复制进入

Jn0826
記憶‘der 回复小黑LLB: 代码没问题,一行一行复制,完美运行,就是一个GUI,识别按钮和回车事件。但如果整体另存,再打开时就会提示,当前程序的encode方式不适用python3,需要转化为utf-8,但按照它的步骤操作还是报错。代码本身没问题,就是涉及一个encode方式的转化,不知道怎么处理。网上方法也试了下,但没解决。
11 个月之前 回复
Enderman_xiaohei
小黑LLB 回复記憶‘der: 就这段代码有问题么,可以贴一下代码么
11 个月之前 回复
Jn0826
記憶‘der 这个之前试过,一行一行复制可以,整体不行。
11 个月之前 回复

首先 ,txt 文件保存为 UTF-8 格式的 .py 文件。
其次,在文件中添加上编码设置 # coding=utf-8

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐