• <i id='LYvgu'><tr id='LYvgu'><dt id='LYvgu'><q id='LYvgu'><span id='LYvgu'><b id='LYvgu'><form id='LYvgu'><ins id='LYvgu'></ins><ul id='LYvgu'></ul><sub id='LYvgu'></sub></form><legend id='LYvgu'></legend><bdo id='LYvgu'><pre id='LYvgu'><center id='LYvgu'></center></pre></bdo></b><th id='LYvgu'></th></span></q></dt></tr></i><div id='LYvgu'><tfoot id='LYvgu'></tfoot><dl id='LYvgu'><fieldset id='LYvgu'></fieldset></dl></div>
  • <legend id='LYvgu'><style id='LYvgu'><dir id='LYvgu'><q id='LYvgu'></q></dir></style></legend>

      <small id='LYvgu'></small><noframes id='LYvgu'>

        <bdo id='LYvgu'></bdo><ul id='LYvgu'></ul>

      <tfoot id='LYvgu'></tfoot>

        向控制台写入回车符时,是否删除整行?

        When writing carriage return to a console the whole line is deleted?(向控制台写入回车符时,是否删除整行?)

          <small id='C4OtM'></small><noframes id='C4OtM'>

          1. <i id='C4OtM'><tr id='C4OtM'><dt id='C4OtM'><q id='C4OtM'><span id='C4OtM'><b id='C4OtM'><form id='C4OtM'><ins id='C4OtM'></ins><ul id='C4OtM'></ul><sub id='C4OtM'></sub></form><legend id='C4OtM'></legend><bdo id='C4OtM'><pre id='C4OtM'><center id='C4OtM'></center></pre></bdo></b><th id='C4OtM'></th></span></q></dt></tr></i><div id='C4OtM'><tfoot id='C4OtM'></tfoot><dl id='C4OtM'><fieldset id='C4OtM'></fieldset></dl></div>

              1. <tfoot id='C4OtM'></tfoot>

              2. <legend id='C4OtM'><style id='C4OtM'><dir id='C4OtM'><q id='C4OtM'></q></dir></style></legend>

                  <bdo id='C4OtM'></bdo><ul id='C4OtM'></ul>
                    <tbody id='C4OtM'></tbody>
                  本文介绍了向控制台写入回车符时,是否删除整行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有一个Python程序,它广泛使用换行符来产生更新控制台行(特别是进度条)的效果。在尝试调试PyCharm中的代码时,我看到进度条只有在调试完成后才会打印出来。

                  进一步检查后发现,当打印回车符( )时,整行都会被删除。因为库本身写入形式为({line} )的字符串,所以我总是得到一个空行。

                  示例代码:

                  import sys
                  sys.stdout.write('xxx')
                  sys.stdout.flush()
                  time.sleep(1)
                  sys.stdout.write('
                  ZZ')
                  sys.stdout.flush()
                  time.sleep(1)
                  sys.stdout.write('yyy
                  ')
                  sys.stdout.flush()
                  
                  time.sleep(1)
                  
                  print ('===')
                  

                  我的运行如下所示:

                  1. xxx已打印
                    [1秒后]
                  2. ZZ已打印
                    [1秒后]
                  3. 该行已删除
                    [1秒后]
                  4. ===打印,程序终止

                  运行此脚本时,调试控制台和运行控制台中都会发生这种情况。

                  推荐答案

                  答案实际上就在您的帖子中。如您所说,回车符将删除整行。要避免此问题,请仅在打印新行时打印回车符,如下所示:

                  打印每行,并在开头使用回车符,而不使用默认值end=' '。我不需要冲水,虽然我没有做太多测试。

                  print('
                  xxx', end='')
                  # sys.stdout.flush()
                  time.sleep(1)
                  

                  继续这样.

                  print('
                  ZZ', end='')
                  time.sleep(1)
                  
                  print('
                  yyy', end='')
                  time.sleep(1)
                  

                  若要保留上次打印输出,请保留默认结尾。

                  print('
                  ===')
                  

                  这篇关于向控制台写入回车符时,是否删除整行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  GUI Freezes while downloading PyQt5 and Pytube(GUI在下载PyQt5和Pytube时冻结)
                  How to solve memory issues while multiprocessing using Pool.map()?(如何解决使用Pool.map()进行多处理时的内存问题?)
                  Python - How to use FastAPI and uvicorn.run without blocking the thread?(Python-如何使用FastAPI和uvicorn.run而不阻塞线程?)
                  How to increment a shared counter from multiple processes?(如何从多个进程递增共享计数器?)
                  Using pika, how to connect to rabbitmq running in docker, started with docker-compose with external network?(使用pika,如何连接运行在docker中的rabbitmq,从docker开始-与外部网络连接?)
                  How to use .rolling() on each row of a Pandas dataframe?(如何对 pandas 数据帧的每一行使用.roll()?)

                  <legend id='DL8Be'><style id='DL8Be'><dir id='DL8Be'><q id='DL8Be'></q></dir></style></legend>
                  <i id='DL8Be'><tr id='DL8Be'><dt id='DL8Be'><q id='DL8Be'><span id='DL8Be'><b id='DL8Be'><form id='DL8Be'><ins id='DL8Be'></ins><ul id='DL8Be'></ul><sub id='DL8Be'></sub></form><legend id='DL8Be'></legend><bdo id='DL8Be'><pre id='DL8Be'><center id='DL8Be'></center></pre></bdo></b><th id='DL8Be'></th></span></q></dt></tr></i><div id='DL8Be'><tfoot id='DL8Be'></tfoot><dl id='DL8Be'><fieldset id='DL8Be'></fieldset></dl></div>

                          <tbody id='DL8Be'></tbody>
                      • <tfoot id='DL8Be'></tfoot>

                            <bdo id='DL8Be'></bdo><ul id='DL8Be'></ul>

                            <small id='DL8Be'></small><noframes id='DL8Be'>