当我的脚本执行可能需要一些时间的任务时,如何使用进度条?
例如,一个需要一些时间才能完成并True
在完成时返回的函数.如何在执行功能期间显示进度条?
请注意,我需要实时,所以我无法弄清楚该怎么做.我需要thread
这个吗?我不知道.
现在我正在执行函数时不打印任何内容,但是进度条会很好.此外,我更感兴趣的是从代码的角度来看如何做到这一点.
要实现如下状态栏:
[========== ] 45%
[================ ] 60%
[==========================] 100%
Run Code Online (Sandbox Code Playgroud)
我希望将它打印到stdout,并保持刷新,而不是打印到另一行.这该怎么做?
我还在学习python,我有一个疑问:
在python 2.6.x中,我通常在文件头中声明编码,如下所示(如PEP 0263)
# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)
在那之后,我的字符串像往常一样写:
a = "A normal string without declared Unicode"
Run Code Online (Sandbox Code Playgroud)
但每次我看到python项目代码时,都不会在标题处声明编码.相反,它在每个字符串声明如下:
a = u"A string with declared Unicode"
Run Code Online (Sandbox Code Playgroud)
有什么不同?这是为了什么目的?我知道Python 2.6.x默认设置ASCII编码,但它可以被头声明覆盖,那么每个字符串声明的重点是什么?
附录:似乎我已将文件编码与字符串编码混合在一起.谢谢你解释:)
我正在写一个简单的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中创建一个漂亮的控制台计数器,就像在某些C/C++程序中一样.
我有一个循环做事,当前的输出是这样的:
Doing thing 0
Doing thing 1
Doing thing 2
...
Run Code Online (Sandbox Code Playgroud)
什么是最简单的就是让最后一行更新;
X things done.
Run Code Online (Sandbox Code Playgroud)
我在许多控制台程序中看到过这种情况,我想知道是否/如何在Python中执行此操作.
我有一个应用程序从中复制文件src
到dst
:
import shutil
from threading import Thread
t = Thread(target=shutil.copy, args=[ src, dst ]).start()
Run Code Online (Sandbox Code Playgroud)
我希望应用程序每隔5秒查询一次副本的进度,而不会锁定应用程序本身.这可能吗?
我的目的是将此进度设置为a QtGui.QLabel
以向用户提供有关文件副本的反馈.
使用线程shutil文件副本进行复制时可以实现吗?
如何通过覆盖NTP服务器先前收到的Timing(倒计时)来输出到同一行.如下所示,在每个第二时序之后接收下一行.
13:35:01
13:35:00
13:34:59
13:34:58
13:34:57
13:34:56
Run Code Online (Sandbox Code Playgroud)
我希望时间应该在同一行清除前一个.
我正在使用tqdm
的进度条,我想通过使用一个参数来缩短进度条本身,以指示进度条应该有多少个进度条
所以而不是这个
Training (16): 100%|?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 983/984 [00:04<00:00, 242.42it/s, loss=0.0598]
Run Code Online (Sandbox Code Playgroud)
我会得到这样的东西
Training (16): 100%|?????????????| 983/984 [00:04<00:00, 242.42it/s, loss=0.0598]
Run Code Online (Sandbox Code Playgroud)
我已经探索了的构造bar_format
函数中的参数tqdm
,但无法弄清楚如何更改它的大小。
我需要在Python 3的文件下载期间显示进度.我在Stackoverflow上看到了一些主题,但考虑到我在编程方面是一个菜鸟而没有人发布完整的例子,只是它的一小部分,或者我可以在Python 3上工作,没有一个对我有好处......
附加信息:
好的,所以我有这个:
from urllib.request import urlopen
import configparser
#checks for files which need to be downloaded
print(' Downloading...')
file = urlopen(file_url)
#progress bar here
output = open('downloaded_file.py','wb')
output.write(file.read())
output.close()
os.system('downloaded_file.py')
Run Code Online (Sandbox Code Playgroud)
脚本通过python命令行运行
如果将尾随逗号添加到print语句的末尾,则首先执行下一个语句.为什么是这样?例如,10000 ** 10000
它在打印之前执行"Hi "
:
print "Hi",
print 10000 ** 10000
Run Code Online (Sandbox Code Playgroud)
打印"嗨你好"之前需要一段时间:
def sayHello():
for i in [0] * 100000000: pass
print "Hello"
print "Hi",
sayHello()
Run Code Online (Sandbox Code Playgroud) python ×10
progress-bar ×2
download ×1
encoding ×1
python-3.x ×1
refresh ×1
text ×1
tqdm ×1
utf-8 ×1