所以我在这里有这个代码,我相信我的问题是微不足道的,因为它只是关于一般读物的问题:
lines = file_in.readlines()
self.inputText.insert(1.0, lines,)
如果我要在文本文件中阅读,它会像这样写入文本文件
['示例文字' \ n']
或者那种性质而不是我们真正想要的东西:
示例文字
如何避免此问题?
答案 0 :(得分:2)
readlines()
为您提供了一系列行。当您尝试将列表作为字符串转换时,它会为您提供括号和逗号以及repr
(for-a-programmer-representation,而不是str
,for-an-end-用户表示,这就是为什么你得到每个元素的引号和\n
而不是换行符的原因。那不是你想要的。
你可以在事后修复它,或者逐个添加每一行,但是有一个更简单的方法:只需使用read()
,它会为你提供整个文件作为一个大字符串:
contents = file_in.read()
self.inputText.insert(1.0, contents,)
除了更少的代码,更难以出错之外,这意味着你不会让Python浪费时间将内容分成一堆单独的行,这样你就可以将它们重新组合在一起。
作为旁注,there's almost never a good reason to call readlines()
。
答案 1 :(得分:0)
readlines
返回一个行列表。要将其插入文本小部件,您可以使用换行符加入这些项目,如下所示:
lines = file_in.readlines()
self.inputText.insert("1.0", "\n".join(lines))