首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >有没有办法去掉预先留下的指纹?

有没有办法去掉预先留下的指纹?
EN

Stack Overflow用户
提问于 2021-11-28 11:41:40
回答 4查看 45关注 0票数 2

所以我现在正在尝试编写一个程序,打印.并删除它,然后打印..,再删除它,然后打印...,当我尝试使用sys模块删除前面的文本时,这是输出:lol [Ktest,所以它基本上在下一行添加了一个[K。我还尝试了使用另一种方法,这样它就可以添加如下内容,而不是删除前面的文本:

代码语言:javascript
代码运行次数:0
运行
复制
import time
print("lol",end="")
time.sleep(1)
print("test")

它确实可以在空闲状态下工作,但是当我试图通过在命令提示符中打开文件来使用它时,它等待了1秒,然后就给出了loltest,两者之间没有任何延迟。所以我在网上找的东西都不管用。

EN

回答 4

Stack Overflow用户

发布于 2021-11-28 11:45:53

您可以使用关键字参数end进行打印,以将特殊字符'\r'附加到行尾。

例如。

代码语言:javascript
代码运行次数:0
运行
复制
import time
print(".", end='\r')
time.sleep(2)
print("..", end='\r')
time.sleep(2)
print("...", end='\r')
time.sleep(2)

'\r'是回车符,它将返回到某些终端中的行首,您可以从这里覆盖刚刚打印的文本。请注意,不同终端的行为可能有所不同。

票数 2
EN

Stack Overflow用户

发布于 2021-11-28 11:44:45

您可以使用os模块来执行外壳命令。

要清除终端,windows中所需的命令为cls,而unix中为其clear

代码语言:javascript
代码运行次数:0
运行
复制
import os
os.system('cls' if os.name == 'nt' else 'clear')

如果不想清除前面的终端输出,可以灵活地使用print函数或其他指定的回车符。

代码语言:javascript
代码运行次数:0
运行
复制
for _ in range(3):
    print('.', end='')
    time.sleep(1)
票数 1
EN

Stack Overflow用户

发布于 2021-11-28 11:46:23

要在以前的打印上打印,可以使用end="\r

代码语言:javascript
代码运行次数:0
运行
复制
import time

print("lol", end="\r")
time.sleep(1)
print("test")
代码语言:javascript
代码运行次数:0
运行
复制
for i in range(4):
    print("."*i, end="\r")
    time.sleep(1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70143041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档