<h2>要获取进度条,请使用TQDM:</h2>
<ul>
<li><a href="https://pypi.org/project/tqdm/" rel="nofollow noreferrer">^{<cd1>}</a></li>
</ul>
<h3>数据(来自<code>in.csv</code>):</h3>
<pre class="lang-py prettyprint-override"><code>ContentItemId
21200
21201
21202
21203
21204
21205
21206
...
21296
21297
21298
21299
21300
</code></pre>
<h3>代码:</h3>
<pre class="lang-py prettyprint-override"><code>from collections import namedtuple
import csv
import requests
from tqdm import tqdm
with open('in.csv', mode='r') as f:
reader = csv.reader(f)
all_records = namedtuple('rec', next(reader))
records = [all_records._make(row) for row in reader]
#Create output file
with open('out.csv', mode='w+') as o:
w = csv.writer(o)
w.writerow(["ContentItemId","code"])
count = 1
with tqdm(total=len(records)) as pbar:
for r in records:
pbar.update(1)
id = r.ContentItemId
url = "https://api.aucklandmuseum.com/id/library/ephemera/" + id
req = requests.get(url, allow_redirects=False)
code = req.status_code
w.writerow([id, code])
print('Complete!')
</code></pre>
<ul>
<li>注意在<code>for-loop</code>前面加了<code>with tqdm(total=len(records)) as pbar:</code></li>
<li>从控制台运行时,将出现一个进度条,显示完成百分比。你知道吗</li>
<li><a href="https://i.stack.imgur.com/Nnc81.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Nnc81.png" alt="enter image description here"/></a></li>
<li><a href="https://i.stack.imgur.com/ZhTqp.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ZhTqp.png" alt="enter image description here"/></a></li>
<li>注意图像的左边,<code>21/101</code>,这是通过<code>records</code>列表长度的计数。
<ul>
<li><code>tqdm</code>提供百分比进度条和计数<code>complete/total</code></li>
</ul></li>
</ul>