Python readlines()函数编写['和\ n到文件

时间:2014-11-21 00:28:03

标签: python readlines

所以我在这里有这个代码,我相信我的问题是微不足道的,因为它只是关于一般读物的问题:

        lines = file_in.readlines()
        self.inputText.insert(1.0, lines,)

如果我要在文本文件中阅读,它会像这样写入文本文件

  

['示例文字' \ n']

或者那种性质而不是我们真正想要的东西:

  

示例文字

如何避免此问题?

2 个答案:

答案 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))