wxpython:在使用textcontrol.GetValue()时,如何从字符串中删除空字节

wxpython:在使用textcontrol.GetValue()时,如何从字符串中删除空字节,wxpython,Wxpython,目标:使用两个文本控制框,一个作为输入,一个作为输出 但是,该过程中还有一个附加步骤,该步骤可能会失败,因为textcontrol.GetValue()还返回空字节 所以说我有 self.tc1 = wx.TextCtrl(panel) self.tc2 = wx.TextCtrl(panel) 我会去做的 cmd = self.tc1.GetValue() 如何排除字符串cmd的最后一个字符(或任何空字节) 输出: TypeError:execv()参数1必须是不带空字节的编码字符串,而

目标:使用两个文本控制框,一个作为输入,一个作为输出 但是,该过程中还有一个附加步骤,该步骤可能会失败,因为textcontrol.GetValue()还返回空字节

所以说我有

self.tc1 = wx.TextCtrl(panel)

self.tc2 = wx.TextCtrl(panel)
我会去做的

cmd = self.tc1.GetValue()
如何排除字符串cmd的最后一个字符(或任何空字节)

输出:

TypeError:execv()参数1必须是不带空字节的编码字符串,而不是str

我不得不把它改成

cmd = self.tc1.GetValue().encode('ascii')
您只需使用


请注意,这也会删除任何前导和尾随空格。

如果有人输入ascii中不包含的符号,会发生什么情况?我编辑了问题,以显示日志的一部分,提示它让我知道是否要查看rest@phineas:它应该返回
unicodeincodeerror
exception:-)。有一些错误错<据我所知,code>wx.TextCtrl.GetValue()不返回
\0
字符。
>>> foo = "bar\n"
>>> foo
'bar\n'
>>> foo.strip()
'bar'