作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
在我用 python 编码的两年里,我在某个地方和某个地方遇到了这个问题,因此我想寻求正确的方法。你如何使它覆盖以前的打印,同时有换行符(通过返回或\n)。我已经尝试了我能找到的大多数答案,但是它只能完成我想要的工作之一。
测试模型
import time, sys
counter1 = 0
counter2 = 0
counter3 = 0
for i in range(5):
time.sleep(0.1)
counter1 += 1
counter2 += 1
counter3 += 1
#print method here!
"""
的多行 (f) 字符串和
\r
print(f"""\r
Counter 1: {counter1}
Counter 2: {counter2}
Counter 3: {counter3}
""")
尝试 1 的输出:
Counter 1: 1
Counter 2: 1
Counter 3: 1
Counter 1: 2
Counter 2: 2
Counter 3: 2
..etc
\r
的普通 (f) 字符串和
\n
print(f"\rCounter 1: {counter1}\nCounter 2: {counter2}\nCounter 3: {counter3}")
尝试 2 的输出:
Counter 1: 1
Counter 2: 1
Counter 3: 1
Counter 1: 2
Counter 2: 2
Counter 3: 2
etc..
sys.stdout.write
,
\r
和
\n
sys.stdout.write(f'\rCounter 1: {counter1}\nCounter 2: {counter2}\nCounter 3: {counter3}')
sys.stdout.flush()
尝试 3 的输出:
Counter 1: 1
Counter 2: 1
Counter 1: 2
Counter 2: 2
Counter 1: 3
etc..
\r
):
print(f"Counter 1: {counter1}\nCounter 2: {counter2}\nCounter 3: {counter3}\n", end = "\r")
尝试 4 的输出:
Counter 1: 1
Counter 2: 1
Counter 3: 1
Counter 1: 2
Counter 2: 2
Counter 3: 2
\r
在它面前
print(f"\rCounter 1: {counter1}")
print(f"Counter 2: {counter2}")
print(f"Counter 3: {counter3}")
尝试 5 的输出:
Counter 1: 1
Counter 2: 1
Counter 3: 1
Counter 1: 2
Counter 2: 2
Counter 3: 2
最佳答案
回车不会撤消整个打印或任何内容,它只会将光标返回到当前行的第一列。想想回到左侧的打字机上的马车。如果您在回车之前有一个换行符,则光标将位于您刚刚打印的行下方的行的左侧。
为了做你想做的事情,并覆盖以前的行,你必须做一些事情,比如重新打印整个屏幕的行数,或者使用像curses这样的东西来为你做。
关于python - 在python中使用回车和换行的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69714211/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!