【问题标题】:Python. When read from a file, apostrophe changes single quotes to double quotesPython。从文件中读取时,撇号将单引号更改为双引号
【发布时间】:2016-10-27 01:57:42
【问题描述】:

我有一个 Python 程序,它从从 Internet 复制的文件中读取文本并将其存储在一个变量中以供进一步使用。它非常简单,如下所示:

Line=(Storefile.readline())
Word=Line[:-1]

([:-1] 去掉回车符('\n'))

如果我在 IDLE 中写 Word,它会返回 - 'bread'

一切正常,直到读取的行中有一个撇号。在这种情况下,在 IDLE 中写入 Word 会给出 - “bread's”。 'bread' 与 "bread's" - 单引号与双引号

如果我逐个字符地组成 Word 变量:

for n in range(len(Word)):
Word=Word+Word[n]

Word[n] 是撇号的那一刻 - 单引号变成双引号。 “面包”与“面包”。

问题是 - 如何将双引号转换为单引号? Word.replace() 不起作用,因为引号不是字符串的一部分 - 我很茫然......

【问题讨论】:

  • 这只是显示问题,与字符串本身无关。
  • 单引号与双引号字符串只是字符串。
  • @L3viathan 是正确的。 IDLE 提供引号只是为了向人们表明这是一个字符串值。它使用单引号,除非字符串中有单引号。在这种情况下,为了清楚起见,它会切换到双精度。 single 或 double 都是字符串值的有效表示。
  • 尝试一个有趣的实验:用单引号和双引号括起来,例如 他说,“我喜欢面包的稠度”——但我不相信他.

标签: python


【解决方案1】:

documentation 开始,Python 字符串可以用单引号或双引号括起来,没有区别。字符串只是存储为对象的一系列字符,当您尝试显示它时,您的 IDLE 会选择用单引号括起来显示它们。在内部和哲学层面上,字符串是相同的。

如果字符串本身包含双引号(反之亦然),通常约定是使用单引号,因此您不必使用反斜杠转义它们。例如。 `

s1 = 'His "name" was Harambe' 
s2 = "He's no longer with us"

更容易写
s1 = "His \"name\" was Harambe" 
s2 ='He\'s no longer with us'

【讨论】:

  • 谢谢大家的回答!我将一个单独的列表变量 (List[n]) 与列表变量 Matrix[n][1] 的列表进行比较。单独的 List 变量添加了方括号,而列表列表没有 - 所以当我将这些变量与 IF 语句进行比较时,结果为 False - 即使变量中有相同的字符串。所以我认为这是因为引号 - 但现在我看到这是因为括号。我想这个问题可以删除 - Stackoverflow.com 太棒了!
  • @Gloom_Demon 不需要删除问题;将来可能会对某人有所帮助:)
猜你喜欢
  • 2013-05-26
  • 2019-05-17
  • 1970-01-01
  • 1970-01-01
  • 2019-07-07
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多