我一直在尝试将ipwhois查找的结果打印到Tkinter文本框中,但是它不起作用。

目前,我收到此错误:TclError:错误的#args:应该为“ .40872632.46072536 insert index chars?tagList chars tagList ...?”

这是我的代码:

result2=unicode(set(ipList).intersection(testList));
result3=result2[:19].strip()
result4=result3[6:]
obj = ipwhois.IPWhois(result4)
results = obj.lookup()
results2= pprint.pprint(results)
text = Tkinter.Text(self)
text.insert(Tkinter.INSERT, results2)
text.insert(Tkinter.END, "")
text.pack()
text.grid(...)``  

我如何通过换行符pprint或至少分割结果字符串,为什么它不起作用?

===============>>#1 票数:0

这里的问题是,当您尝试获取result2的pprinted值时,由于pprint只是将输出写入sys.stdout ,因此返回None 然后,当您继续执行text.insert(Tkinter.INSERT, None)它将引发您不断收到的错误。 这基本上意味着您需要找到另一种方法来获取列表的格式化字符串-我建议使用"\\n".join(results)

附带说明一下,除非self是Tkinter.Tk()或Tkinter.Toplevel()或类似的东西,否则您不应将其作为文本小部件的父级。 最重要的是,您可以将上面的代码剪切并缩短为以下代码:

results2 = "\n".join(results)
text = Tkinter.Text(self)
text.insert(Tkinter.END, results2) # Write the string "results2" to the text widget
text.pack()
# text.grid(...) # Skip this, you don't need two geometry managers

查看此内容以了解有关Tkinter的更多信息-这是Tcl / Tk参考的真正好资源。

  ask by Gamal Marcello translate from so

未解决问题?本站智能推荐:

1回复

如何打印使用类实现的树数据结构?

我知道pprint可以漂亮地打印嵌套列表或字典,它们都是树结构的类型,但我想pprint一个基于类的树,其中包含任意数量的子节点,这样节点就会向右缩进,具体取决于它们树中的水平。 可以用pprint做我想做的事情,如果有,怎么做? 我可以编写自己的函数来打印一棵树,但我想检查一下是否需要
1回复

pprint中的运行时调用

如何在运行时在pprint内部传递值? 在运行时,我需要从用户那里得到一个单词并将其传递给fn.frames函数以代替Medical_specialties,后者再抛出一系列帧作为与该单词相关的帧ID。 然后,我可以呼叫这些号码以进一步查询。 输出:
14回复

有什么方法可以正确打印订购的字典吗?

我喜欢Python中的pprint模块。 我经常使用它进行测试和调试。 我经常使用width选项来确保输出完全适合我的终端窗口。 直到他们在Python 2.7中添加了新的有序字典类型 (我真的很喜欢的另一个很酷的功能)之前,它一直运行良好。 如果我尝试漂亮地打印有序字典,则显示效果
4回复

我可以像在python2中那样在python3中使pprint不拆分字符串吗?

有没有办法告诉Python 3中的pprint不要在空格上分割字符串? Python 2的pprint没有做到这一点。 可以禁用此行为吗? 我浏览了pprint的源pprint ,但似乎没有看到这样的选择。 我可以以某种方式欺骗它吗? 这是我得到的例子: 这就是我想要的: 需要澄清的是
1回复

从tkinter的多个文本框中获取值

我有以下代码。 每次按下按钮“添加新行”都会创建一行四个文本框。 “打印值”按钮将一一打印所有文本框的值。 由于文本框是动态命名的,因此名称是字符串类型。 但是,观察“获取Val”按钮,我得到了这个错误。 我究竟做错了什么?
1回复

在Tkinter中动态创建文本框

我正在尝试使用一个按钮创建多行文本框。 每次按下按钮,都会出现一个带有四个文本框的新行。 我试图使用一个函数来执行此操作并将行数存储在变量中,但是在创建行之后,我无法更新变量。 同样,在创建必要的行之后,我必须从文本框中获取数据。 我该如何完成?
2回复

不断更新服务器中的数据并打印到文本框

因此,我有一台完全用Python 2.7编写的服务器: 我需要做的是从服务器获取数据(消息)的不断更新,并将它们打印到Tkinter制作的文本框中。 接收代码: 不一定是Tkinter,但这就是我一直在尝试的东西。 只要它使用GUI。 不用担心发送消息,我只需要能
4回复

如何在Tkinter文本框中设置对齐方式

题 如何更改Tkinter中ScrolledText小部件中特定行的对齐方式? 我原来错误的原因是什么? 背景 我目前正在开发一个Tkinter文本框应用程序,我正在寻找改变一条线的理由的方法。 最终,我希望能够将特定行从LEFT ALIGN更改为RIGHT A
1回复

在Tkinter Treeview中添加按钮和文本框到行[重复]

这个问题在这里已有答案: Tkinter在Treeview小部件中插入一个Combobox 2个答案 我正在使用python 2.7和Tkinter设计一个基本工具来填充表格中的信息。 我希望能够通过单击它来编辑显示名称类别,并在删除列中有一个按钮将其从树视图中删
1回复

将Tkinter文本框条目转换为Python变量

(长问题) 我正在尝试编写一段代码,当按下按钮时,它将使用tkinter文本框从用户那里获取文件路径。 然后,它将把该文本框条目转换为附加到普通python变量的字符串,以便稍后可以在函数中使用该变量来使用该文件。 我附加的代码可以使标签复制文本框条目,但是我不能在“普通python代