这代表什么?

2024-04-27 04:52:47 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

这是打字机上的旧控制字符。 意思是“回车”。这时,当您按“回车”键时,您将转到下一行,然后车厢返回到行的开头(因此车厢返回)。 然后,对于计算机,不同的操作系统做出不同的选择来表示新行。 在windows上,您有“\r\n”(回车+换行)。 在unices上,只有“\n”(不需要进行回车,这是新行暗示的)。 在旧的mac OS上,只有“\r”。

现在,除了换行符(或者我不知道其他用法)之外,它没有被使用。

对我来说(在Mac OS X 10.5 Terminal.App上,Python 2.6.5):

>>> print 'a\ra'
a

或者举个更好的例子:

>>> print 'longstring\rshort'
shorttring

注意,\r“将光标返回到行的开头”(不启动新的long),这样'short'“将覆盖'longstring'的开头。

这种效果很好,可以向用户显示在长操作期间正在更新的单行“当前状态”--使用带尾随逗号的print '\rupdate',,以避免发出新行字符,通过覆盖前一行字符来更新状态。当然,您需要确保这样显示的每个更新字符串至少与前一个字符串一样长(只需用空格填充即可)。

请注意,其他响应者在他们的平台上注意到了不同的视觉效果(你自己也看到了\r在没有效果的情况下消失,这在我的经验中是前所未有的),所以这种提供更新的好方法不会在每个平台上都很好地工作!-)

是马车返回的逃生通道。在我的控制台上,在Windows上运行,print 'a\ra'会导致。。。

a
a

。。。打印到标准输出。

这是all valid escapes的列表。

  • \newline-忽略
  • \\-反斜杠()
  • \'-单引号(')
  • \"-双引号(“)
  • \a-ASCII铃(BEL)
  • \b-ASCII退格(BS)
  • \f-ASCII格式馈送(FF)
  • \n-ASCII换行符(LF)
  • \N{name}Unicode数据库中名为name的字符(仅Unicode)
  • \r-ASCII回车(CR)
  • \t-ASCII水平标签(标签)
  • \uxxxx-16位十六进制值为xxxx的字符(仅限Unicode)
  • \Uxxxxxxxx-32位十六进制值为xxxxxxxx的字符(仅限Unicode)
  • \v-ASCII垂直标签(VT)
  • \ooo-八进制值ooo的字符
  • \xhh-十六进制值为hh的字符

相关问题 更多 >