相关疑难解决方法(0)

控制台中的文本进度条

有一个很好的方法来做到以下几点?

我写了一个简单的控制台应用程序,使用ftplib从FTP服务器上传和下载文件.

每次下载一些数据块时,我都想更新文本进度条,即使它只是一个数字.

但我不想删除所有打印到控制台的文本.(执行"清除"然后打印更新的百分比.)

python console updating progress

388
推荐指数
15
解决办法
29万
查看次数

输出到同一行覆盖以前的输出?python(2.5)

我正在写一个简单的ftp下载器.代码的一部分是这样的:

ftp.retrbinary("RETR " + file_name, process)
Run Code Online (Sandbox Code Playgroud)

我正在调用函数进程来处理回调:

def process(data):
    print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!'
    file.write(data)
Run Code Online (Sandbox Code Playgroud)

和输出是这样的:

1784  KB / KB 1829 downloaded!
1788  KB / KB 1829 downloaded!
etc...   
Run Code Online (Sandbox Code Playgroud)

我希望它打印这一行,然后下次重新打印/刷新它所以它只显示一次,我将看到该下载的进度...

怎么做到呢?

python refresh progress-bar

88
推荐指数
9
解决办法
13万
查看次数

在python shell中运行一个基本的数字时钟

我想在python shell中编写简单的数字时钟.我想尽可能避免使用tkinter.这就是我现在拥有的;

import time
while True:
    from datetime import datetime
    now = datetime.now()  
    print ("%s/%s/%s %s:%s:%s" % (now.month,now.day,now.year,now.hour,now.minute,now.second)) 
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

这会产生反复出现的打印,就像这样;

06/29/16 23:08:32

06/29/16 23:08:33

06/29/16 23:08:34
Run Code Online (Sandbox Code Playgroud)

我知道这很粗糙,我还在学习.我只想要在shell中使用"滴答"数字时钟的一行.我在空闲和Windows 10上使用python 3.5.1.

如果这是不可能的,我非常想知道原因.

非常感谢

python shell clock digital

2
推荐指数
1
解决办法
1万
查看次数

Python3如何在循环、刷新时清除以前的打印?

我只想在屏幕上显示一项,我想这应该用 print(...,lush=True) 来完成,但它不能按我的预期工作。

for i in range(0,100):
    print(i, end='', flush=True)
Run Code Online (Sandbox Code Playgroud)

现在我得到这样的数字012345678....,我想在屏幕上看到的只是一个数字,而没有看到以前的打印结果,因此在第一次迭代时,它只显示0第二个显示1,我认为齐平可以解决问题,但事实并非如此,我在哪里我错了?

python flush python-3.x python-3.8

1
推荐指数
1
解决办法
2717
查看次数