免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 12229 | 回复: 8

关于 python里面转义字符 \r 的问题? [复制链接]

论坛徽章:
0
发表于 2014-04-27 13:39 |显示全部楼层
本帖最后由 lovekaiyuan 于 2014-04-28 21:03 编辑

print "abcd\r" 输出 abcd
print "abcd\r", 没有输出?????
print "abcd\rd" 输出 dbcd 说明 \r 是把光标移动到行首这个也是它的作用 但是并没有清除之前的内容啊
print "abcd\rd", 输出 dbcd
为什么如果 print "abcd\r", 加一个逗号,就什么都不输出呢?

我又在win下面实验了一下,发现情况更有趣,在IDLE和dos里面的输出居然不一样?同一个版本的python怎么会出现这种问题呢?
图片如下:
c.png b.jpg a.jpg

两张是在win下面的IDLE和dos命令符还有一张是linux的终端 在win里面idle和dos的输出居然不一样。

论坛徽章:
0
发表于 2014-04-27 14:10 |显示全部楼层
问题太简单? 个人认为 \r 只是把光标移动,但不应该把其他的输出给冲掉啊?

论坛徽章:
1
子鼠
日期:2014-05-04 13:59:31
发表于 2014-04-28 10:47 |显示全部楼层
  1. print '10\r9'
复制代码

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
发表于 2014-04-28 14:13 |显示全部楼层

没有输出?????
print "abcd\r",   

print "abcd\r",  # 输出 abcd

回复 1# lovekaiyuan


   

论坛徽章:
1
子鼠
日期:2014-05-04 13:59:31
发表于 2014-04-28 14:54 |显示全部楼层
看下 10s倒计时 和 进程条 怎么实现的 就OK了吧

论坛徽章:
0
发表于 2014-04-28 19:31 |显示全部楼层
本帖最后由 lovekaiyuan 于 2014-04-28 21:04 编辑

回复 4# pitonas


    c.png b.jpg a.jpg


两张是在win下的,一个是在linux下的。输出不一样

论坛徽章:
0
发表于 2014-04-28 21:10 |显示全部楼层
回复 5# 修杰_JIANG

主要是为什么什么都不输出呢?我又在 win下面也试了一下,居然idle和命令行输出不一样,这又是什么原因呢?
   

论坛徽章:
0
发表于 2014-04-28 21:31 |显示全部楼层
没有输出的原因找到了,谢谢大家,是因为确实输出了内容,不过由于\r的换行作用导致 命令提示符》》》和一个空格正好把abcd给覆盖掉了,如果打印长一点的文本就可以看到。比如 print "abcdefghijklmnop\r" 这就可以了,但是还有一个疑问就是 在 win下面的IDLE 中 print "abcd\re"  的输出是 abcde 把 \r给忽略了。为什么呢?

论坛徽章:
0
发表于 2015-04-12 16:45 |显示全部楼层
本帖最后由 zhoufenqin 于 2015-04-12 16:45 编辑

\r表示换行,但是没有\n,所以不会到下一行,而是将光标移到了本行最前面,然后继续输出\r后面的字符。
例如:
print "abcd\re" 光标移到最前,会输出e,覆盖掉a,然后继续输出bcd,得到的答案是ebcd
print "abcd\reeeee" eeeee会吧abcd都覆盖掉,输出eeeee
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP