日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python progressbar 多行_使用单击.progressbar在Python中使用多处理

發布時間:2025/3/20 python 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python progressbar 多行_使用单击.progressbar在Python中使用多处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一個巨大的列表,我需要處理,這需要一些時間,所以我把它分為4個部分,并用一些函數對每個部分進行多重處理。用4個內核運行仍然需要一些時間,所以我想我應該在函數中添加一些進度條,這樣它就可以告訴我每個處理器在處理列表時的位置。在

我的夢想是擁有這樣的東西:erasing close atoms, cpu0 [######..............................] 13%

erasing close atoms, cpu1 [#######.............................] 15%

erasing close atoms, cpu2 [######..............................] 13%

erasing close atoms, cpu3 [######..............................] 14%

隨著函數中循環的進行,每個條都在移動。但是我得到了一個連續的

等等,填滿了我的終端窗口。在

下面是調用函數的主要python腳本:

^{pr2}$

下面是函數eraseCloseAtoms():import numpy as np

import click

def eraseCloseAtoms(protein, atoms, cell, spacing=2, dmin=1.4, output=None):

print 'just need to erase close atoms'

if dmin > spacing:

print 'the spacing needs to be larger than dmin'

return

grid = [int(cell[0] / spacing), int(cell[1] / spacing), int(cell[2] / spacing)]

selected = list(atoms)

with click.progressbar(length=len(atoms), label='erasing close atoms') as bar:

for i, atom in enumerate(atoms):

bar.update(i)

erased = False

coord = np.array(atom[6])

for ix in [-1, 0, 1]:

if erased:

break

for iy in [-1, 0, 1]:

if erased:

break

for iz in [-1, 0, 1]:

if erased:

break

for j in protein:

protCoord = np.array(protein[int(j)][6])

trueDist = getMinDist(protCoord, coord, cell, vectors)

if trueDist <= dmin:

selected.remove(atom)

erased = True

break

if output is None:

return selected

else:

output.put(selected)

總結

以上是生活随笔為你收集整理的python progressbar 多行_使用单击.progressbar在Python中使用多处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。