【问题标题】:Python 3: Reading string from file and define the same string in code working differently [duplicate]Python 3:从文件中读取字符串并在不同的代码中定义相同的字符串[重复]
【发布时间】:2018-09-18 13:38:01
【问题描述】:

我有一个如下所示的文本文件

    # 1.txt
    who is the\u00a0winners\u00a0where\u00a0season result\u00a0is 7th

如果我读取一个文件并打印它,它会显示

    >>> s = open("1.txt").read()
    >>> print(s)
    who is the\u00a0winners\u00a0where\u00a0season result\u00a0is 7th

但是,如果我喜欢下面的相同字符串,

    >> s = "who is the\u00a0winners\u00a0where\u00a0season result\u00a0is 7th"
    >> print(s)
    who is the winners where season result is 7th


我想读取一个像“1.txt”这样的文本文件并像下面这样打印它。我找不到怎么做。请帮我。谢谢。

【问题讨论】:

  • \u.... in string literals 正在被解释,从它们不是的文本文件中读取。
  • 之前好像已经讨论过了。请看一下:stackoverflow.com/questions/2594810/…
  • @deceze,感谢您的评论。有没有办法在文本文件中处理 \u...?

标签: python string python-3.x file encoding


【解决方案1】:

\u00a0 是一个不间断空格,并且是一个字符

在您的第一个示例中,您将 \u00a0 读取为 6 个字符。

如果您想读取带有\u00a0s 的文件并将它们解释为空格,则必须自己解析文件并为每个\u00a0 创建空格。

【讨论】:

  • 感谢您的回答。但是,我还有几个 unicode。 \u20132、\u20136、\u00e4 等。我应该解析每一个 \u 东西来阅读它吗?谢谢。
  • 如果您查看@Kenstars 的答案中的问题,该问题的一个答案是stackoverflow.com/a/2594942/4572356。这可能是完成您想要完成的事情的最简单方法。本质上在字符串上使用.replace\u... 替换为它的定义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
相关资源
最近更新 更多