python-3.x - 可以在 print() 中使用 time.sleep 吗?
问题描述
我想做一个 . .. ... 显示 Programm 的东西是“思考”。
于是我想出了一个主意:
import time
print(".", time.sleep(x), ".", time.sleep(x), ".")
但是当然没有用。
正在做:
import time
time.sleep(0.8)
print(".")
time.sleep(0.8)
print("..")
time.sleep(0.8)
print("...")
time.sleep(0.8)
将所有点放在一起。
有谁知道它是如何工作的?
先感谢您。
解决方案
不幸的是,您的方法行不通。print 语句中的逗号分隔值不允许新的逻辑;他们只是告诉 python 打印空格分隔的字符串。为此,您需要稍微使用一下 print 语句参数。
代码是:
import time
i = 1
while i < 4:
dots = '.'*i
print("\r{}".format(dots), flush=True, end='')
time.sleep(1)
i += 1
您不一定需要 while 循环,但要了解 print 语句中发生的事情。您必须在字符串的开头包含“\r”,即回车符。这告诉 Python 在打印后将光标返回到行首,以便下次需要打印。
在 print 函数的参数中,使用“end=''”,它告诉 python 以空字符串结尾。默认情况下,打印语句以换行符结尾,这是不受欢迎的行为。
最后,“flush=True”告诉 Python 删除需要打印的内容之前的任何内容。这是必要的,因为您将使用回车符转到开头。
推荐阅读
- spring-cloud-gateway - GraalVM 本机映像的运行时错误 DnsServerAddressStreamProviders$DefaultProviderHolder
- docker - Chromedriver 在执行一次后停止在 celery beat 调度程序中运行
- joomla - Joomla!3.6.5 '字段列表'中的未知列'c.version'
- r - 如何有条件地突出显示 gt 包中的特定行单元格?
- reactjs - 如何上传图像并传入 tensorflowjs 模型以使用 reactjs 进行预测?
- java - 我的 netbeans IDE 8.2 上没有测试覆盖选项
- python - sudo:服务:找不到命令
- node.js - 在 Node.js 应用程序中从 AWS S3 下载文件
- visual-studio-code - 如何使用 vscode 服务器作为 git difftool
- c# - 获取客户端证书