Python 转储ScrolledText小部件内容的更好方法

Python 转储ScrolledText小部件内容的更好方法,python,python-3.x,filter,lambda,tkinter,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")))) 有什么更好的方法可以过滤转储列表中的文本?我这样做的原因是将内容写入日志文件(如果相关的话)。上面的一行代码工作得很好,它获取所有文本,新行字符,以便能够将内容写入日志文件。要

我知道如何使用内置的方法
dump
,我试图做的是过滤转储内容,只过滤文本内容。我想出了一个丑陋而低效的单衬里:

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

有什么更好的方法可以过滤转储列表中的文本?我这样做的原因是将内容写入日志文件(如果相关的话)。上面的一行代码工作得很好,它获取所有文本,新行字符,以便能够将内容写入日志文件。要获取文本,请使用
get
方法,为其提供所需字符的起始和结束范围。要获得全文,请执行以下操作:

self.text.get("1.0", "end-1c")
注意:
“end-1c”
表示“最后一个字符,减去一个字符”,这会阻止您获得tkinter添加的额外换行符