【问题标题】:Reading text in python weird error在python奇怪的错误中读取文本
【发布时间】:2016-03-17 09:10:15
【问题描述】:

我正在打开一个如下所示的文件:http://pastebin.com/ucH5ayHa

并尝试使用简单的 python 读取它:

f1 = open("goldstandard-answer-utf-8.txt", "r")

print f1.readline();

for line in f1:
    print line

f1.close()

两个打印行都不打印整个文档。 readline 和 for 循环都分别打印:

</file>

这很奇怪。显然它与文档中的标签有关,但我尝试使用 lmxl etree 或美丽的汤来解析它都得到了类似的结果。如果有意义的话,有什么方法可以强制 python 打印行并忽略标签?

编辑:(由 cmets 建议包含)预期的输出将与 pastebin 条目完全相同: 2028.htm.txt Mäkitalo、Östen Mäkitalo、Östen Mäkitalo、Jessica Lindbäck、Östen Mäkitalo、Östen Mäkitalo、Robert Brännström 等等……

【问题讨论】:

  • 你能附上你的文本文件吗??
  • 我无法共享整个文件,抱歉。但是看看 pastebin 是如何构建的一个例子。每个新列都具有完全相同的结构。
  • 我看到另一个(现已删除)评论建议:with open("goldstandard-answer-utf-8.txt") as f: for line in f: print line 这给出了相同的结果..
  • 你最好添加一些示例输入行和预期输出,让问题更清楚。
  • 感谢您的快速回复。我在有关预期输出的问题上添加了更多内容。

标签: python xml file text file-io


【解决方案1】:

如果文件确实是 utf-8 编码的,顾名思义,请尝试这样打开它:

import codecs

f = codecs.open('goldstandard-answer-utf-8.txt', 'r', encoding='utf-8')

【讨论】:

  • 非常感谢!我以为我只需将其保存为 utf-8 即可解决此问题。现在它打印整个文件!
  • 不客气!这里有一些关于 Python 和 unicode 的文档:docs.python.org/2/howto/unicode.html
猜你喜欢
  • 1970-01-01
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2012-03-14
  • 1970-01-01
  • 2015-08-09
相关资源
最近更新 更多