2024-10-01 13:37:41 发布
网友
| (02/100)\rImporting AVC-H264: | | (03/100)\rImporting AVC-H264: | | (04/100)\rImporting AVC-H264: |=
这是相应的python代码:
可能是两件事。。。在
很可能readline正在从您的 程序。我相信\r是回车,并告诉终端 回到 然后程序可以输出超过它刚刚输出的文本。 Readline很可能会删除这个。在
\r
首先要做的是
p = subprocess.Popen(args, stdout=subprocess.PIPE, \ stderr=subprocess.PIPE, \ universal_newlines=True) for line in iter(p.stdout.readline, ""): sys.stdout.write('\r'+line[:-1]) sys.stdout.flush()
因为stdout缓冲区直到它得到一个\n和 当然你不是在写。在
\n
在Windows上,可以输出退格字符(ASCII码8)。打印当前数字(仅使用单个数字):
>>> import time >>> import sys >>> for i in xrange(10): ... sys.stdout.write(str(i)) ... time.sleep(.5) ... sys.stdout.write(chr(8)) ...
你需要跟踪当前行的字符数。。。我肯定有更好的办法。在
在Linux上,似乎可以编写回车来重置光标位置。请参见Erase the current printed console line和In-place progress output in the terminal or console。在
抱歉,我不太了解实时部分,但也许我可以帮助“自我更新”部分,试试这个:
for line in iter(p.stdout.readline, ""): print line + '\r',
可能是两件事。。。在
很可能readline正在从您的 程序。我相信
\r
是回车,并告诉终端 回到 然后程序可以输出超过它刚刚输出的文本。 Readline很可能会删除这个。在首先要做的是
因为stdout缓冲区直到它得到一个
\n
和 当然你不是在写。在在Windows上,可以输出退格字符(ASCII码8)。打印当前数字(仅使用单个数字):
你需要跟踪当前行的字符数。。。我肯定有更好的办法。在
在Linux上,似乎可以编写回车来重置光标位置。请参见Erase the current printed console line和In-place progress output in the terminal or console。在
抱歉,我不太了解实时部分,但也许我可以帮助“自我更新”部分,试试这个:
相关问题 更多 >
编程相关推荐