我知道如何使用内置方法dump
,我正在尝试的是仅过滤文本内容的转储内容。我想出了一个丑陋且效率低下的衬垫:
list(filter(None, map(lambda line: line[1] if line[0] == "text" else None, self.text.dump(1.0, "end"))))
对于文本过滤转储列表有什么更好的方法?我这样做的原因是将内容写入日志文件,如果这完全相关的话。上面的一个内容工作得很好,它获取所有文本,新行字符,能够将内容写入日志文件只是看起来很难看。
答案 0 :(得分:2)
要获取文本,请使用get
方法,为其指定所需字符的起始和结束范围。要获得整个文本:
self.text.get("1.0", "end-1c")
注意:"end-1c"
表示“最后一个字符,减去一个字符”,这会阻止您获取tkinter添加的额外换行符。