转储ScrolledText小部件

时间:2015-07-17 23:49:44

标签: python python-3.x filter lambda tkinter

我知道如何使用内置方法dump,我正在尝试的是仅过滤文本内容的转储内容。我想出了一个丑陋且效率低下的衬垫:

 list(filter(None, map(lambda line: line[1] if line[0] == "text" else None, self.text.dump(1.0, "end"))))

对于文本过滤转储列表有什么更好的方法?我这样做的原因是将内容写入日志文件,如果这完全相关的话。上面的一个内容工作得很好,它获取所有文本,新行字符,能够将内容写入日志文件只是看起来很难看。

1 个答案:

答案 0 :(得分:2)

要获取文本,请使用get方法,为其指定所需字符的起始和结束范围。要获得整个文本:

self.text.get("1.0", "end-1c")

注意:"end-1c"表示“最后一个字符,减去一个字符”,这会阻止您获取tkinter添加的额外换行符。