1

目标:使用两个文本控件框,一个作为输入,一个作为输出但是在这个过程中有一个额外的步骤,这可能会失败,因为 textcontrol.GetValue() 另外返回空字节

所以说我有

self.tc1 = wx.TextCtrl(panel)

self.tc2 = wx.TextCtrl(panel)

我去做

cmd = self.tc1.GetValue()

如何排除字符串 cmd 的最后一个字符(或任何空字节)

输出:

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

4

2 回答 2

1

才想通,

我不得不把它改成

cmd = self.tc1.GetValue().encode('ascii')
于 2013-03-04T14:25:27.387 回答
1

您只需使用str.strip.

>>> foo = "bar\n"
>>> foo
'bar\n'
>>> foo.strip()
'bar'

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

于 2013-03-04T14:26:17.777 回答