相关疑难解决方法(0)

动态打印一行

我想做几个语句,给出标准输出,而不会在语句之间看到换行符.

具体来说,假设我有:

for item in range(1,100):
    print item
Run Code Online (Sandbox Code Playgroud)

结果是:

1
2
3
4
.
.
.
Run Code Online (Sandbox Code Playgroud)

如何让它看起来像:

1 2 3 4 5 ...
Run Code Online (Sandbox Code Playgroud)

更妙的是,是否可以打印单号最后一个号码,所以只有一个号码在屏幕上在同一时间?

python printing

283
推荐指数
9
解决办法
49万
查看次数

Python:在同一行上打印多个

我想运行一个脚本,它基本上显示如下内容:

Installing XXX...               [DONE]
Run Code Online (Sandbox Code Playgroud)

现在,此刻,我在功能成功后使用print打印整行.但是,我现在希望它首先打印"安装xxx ...",并在功能运行之后添加"DONE"标签; 但是在同一条线上.

有任何想法吗?

python printing stdout line-breaks

212
推荐指数
10
解决办法
44万
查看次数

删除并替换打印的项目

我想知道是否有可能删除你用Python打印的项目 - 不是从Python GUI,而是从命令提示符.例如

a = 0  
for x in range (0,3):  
    a = a + 1  
    b = ("Loading" + "." * a)
print (a)
Run Code Online (Sandbox Code Playgroud)

所以它打印

>>>Loading   
>>>Loading. 
>>>Loading.. 
>>>Loading...
Run Code Online (Sandbox Code Playgroud)

但是,我的问题是我希望这一切都在一条线上,为此它会在其他东西出现时自行删除它.因此,不是打印"Loading", "Loading.", "Loading...我希望它打印"Loading.",然后它删除行上的内容并替换它,"Loading.."然后删除"Loading.."并替换它(在同一行)"Loading...".这很难描述.

ps我试图使用Backspace字符,但它似乎不起作用("\b")

谢谢

python printing python-3.x python-3.2

85
推荐指数
3
解决办法
15万
查看次数

打印到同一行,而不是python中的新行

基本上我想做与这个家伙做的相反的事情......呵呵.

Python脚本:每次打印新行到shell而不是更新现有行

我有一个程序告诉我它有多远.

for i in some_list:
    #do a bunch of stuff.
    print i/len(some_list)*100," percent complete"
Run Code Online (Sandbox Code Playgroud)

因此,如果len(some_list)为50,我会将最后一行打印50次.我想打印一行并不断更新该行.我知道我知道这可能是你整天都会读到的最蹩脚的问题.我只是无法弄清楚我需要在谷歌中找到答案的四个字.

更新!我试过mvds的建议哪个看起来没错.新代码

print percent_complete,"           \r",
Run Code Online (Sandbox Code Playgroud)

完成百分比只是一个字符串(我现在第一次抽象,我试图成为文字).现在的结果是它运行程序,直到程序结束后才打印ANYTHING,然后在一行且只有一行打印"100%完成".

如果没有回车(但是使用逗号,mvds的一半建议),它将一直打印到最后.然后打印:

0 percent complete     2 percent complete     3 percent complete     4 percent complete    
Run Code Online (Sandbox Code Playgroud)

等等.所以现在新的问题是用逗号它不会打印直到程序完成.

使用回车并且没有逗号,它的行为与两者都不完全相同.

python stdout

63
推荐指数
7
解决办法
9万
查看次数

如何在打印声明后抑制换行符?

我读到在打印语句后禁止换行,你可以在文本后面加一个逗号.这里的示例看起来像Python 2. 如何在Python 3中完成?

例如:

for item in [1,2,3,4]:
    print(item, " ")
Run Code Online (Sandbox Code Playgroud)

需要更改哪些内容才能将它们打印在同一行上?

python python-3.x

52
推荐指数
2
解决办法
9万
查看次数

Python:如何在同一行上打印,清除之前的文本?

\r在 Python 中,您可以使用移回行首在同一行上进行打印。

这对于进度条或增加百分比计数器非常有效,例如:Python print on same line

但是,当打印长度可能会减少的行时,这会将前几行文本保留在那里,例如:

import sys
for t in ['long line', '%']:
    sys.stdout.write(t + '\r')
sys.stdout.write('\n')
Run Code Online (Sandbox Code Playgroud)

将终端文本保留为:%ong line

打印到同一行时,在较长的行之后写较短的行的最佳方法是什么?

python stdout python-3.x

10
推荐指数
1
解决办法
6480
查看次数

如何在IPython中刷新打印的语句

我想在我的函数循环期间打印一些调试语句,我使用IPython来调用该函数.让一个示例函数为:

def test_print():
    import time
    for i in range(5):
        time.sleep(2)
        print i,  time.time()
Run Code Online (Sandbox Code Playgroud)

结果如下:

0 1372337149.84
1 1372337151.84
2 1372337153.85
3 1372337155.85
4 1372337157.85
Run Code Online (Sandbox Code Playgroud)

我希望每行都打印出来,然后等待2秒钟.但行为如下.我首先观察到:

0 1372337149.84
1 
Run Code Online (Sandbox Code Playgroud)

然后,在2秒后,我观察1下一行的时间戳和id,即2.我终于看到了最后一张时间戳.我无法弄清楚为什么它表现得像这样,而不是一次一行.有什么想法吗?我是否需要特殊的刷新功能来打印等待打印的内容?

python ipython

7
推荐指数
1
解决办法
7606
查看次数

如何在没有回车的情况下在Python 3.3.3中打印?

首先,我不是在寻找如何与同一行打印print(some_stuff, end="").

在Python 2.7中,您可以输入:

while True:
for i in ["/","-","|","\\","|"]:
    print "%s\r" % i,
Run Code Online (Sandbox Code Playgroud)

并且它会在相同的行中打印出SAME中的那5个字符,使它看起来像是一个条形旋转(实际上你可以尝试一下).问题是,我不能在Python 3.3中做同样的事情,我已经尝试了几件事.我的具体应用是倒数计时器...代码是这样的:

import time
t = 120
while t > 0:
    t -= 1
    print("Time left till next update: %d seconds" % t)
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

输出应该是字符串,只有在适当的位置改变的秒数...希望有人可以帮我这个.

python printing string string-formatting python-3.3

5
推荐指数
1
解决办法
8321
查看次数

如何隐藏已用Python打印的内容

我正在制作一个记忆游戏,我打印几个单词,在一段时间后,这些单词被洗牌,然后删除一个单词并替换为新单词.然后我会让用户回答哪个单词已被删除,哪个单词已替换该单词.例如,它将打印:

CAT DOG MOUSE HORSE
Run Code Online (Sandbox Code Playgroud)

10秒后,我希望隐藏这些单词,然后将其拖尾并用一个新单词替换一个单词,以便打印出来,例如:

DOG HORSE RABBIT CAT
Run Code Online (Sandbox Code Playgroud)

据我所知,我可以使用time.sleep()该程序暂停执行任何其他代码.

是否更容易基本上"取消打印"第一组单词然后打印新单词或用新单词替换第一组打印的单词.

我很新,很抱歉,如果无法做到这一点.

python

5
推荐指数
1
解决办法
680
查看次数

在python shell上创建一个闪烁的忙指示符

我想*在1秒的间隔内在命令行上制作flash.

import time
from sys import stdout

while True:
    stdout.write(' *')
    time.sleep(.5)
    stdout.write('\r  ')
    time.sleep(.5)
Run Code Online (Sandbox Code Playgroud)

我得到的只是一个空白行,没有闪烁*.

这是为什么?

python busyindicator

4
推荐指数
2
解决办法
657
查看次数