Python输出重叠

时间:2015-05-16 09:23:50

标签: python

我编写了一个脚本来计算访问网站的响应时间。下面是我脚本中的print语句:

$ ./script.py
|time=3.693447in 0:00:03.693447 HIT from 127.0.0.1

输出:

print

正如你所看到的那样,当我的输出重叠时,时间变量正在打印线的前面。

有人可以帮助我在[self.navigationItem.backBarButtonItem setTitle:@" "];声明中找出我做错了什么。

1 个答案:

答案 0 :(得分:3)

\r变量中有host回车符(作为最后一个字符)。这会将光标发送回行的开头,导致字符串的其余部分(|time=....)覆盖之前的任何内容。

您可以使用str.strip() method从变量中清除它:

print "OK: Completed in %s %s|time=%s" % (delta, host.strip(), seconds)

str.strip()方法从字符串的开头和结尾删除所有空格(返回一个新的字符串对象);空格被定义为制表符,空格,换行符和回车符。

演示:

>>> delta = '0:00:03.693447'  # a string will do for the demo
>>> seconds = 3.693447
>>> host = 'foobar\r'
>>> print "OK: Completed in %s %s|time=%s"%(delta, host, seconds)
|time=3.693447in 0:00:03.693447 foobar
>>> print "OK: Completed in %s %s|time=%s" % (delta, host.strip(), seconds)
OK: Completed in 0:00:03.693447 foobar|time=3.693447