第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 python 在 concurrent.futures 中使用

使用 python 在 concurrent.futures 中使用

蕪湖不蕪 2021-08-11 21:33:58
我正在努力在 python 中使用 concurrent.futures。我正在嘗試迭代大量 S3 對象。由于帳戶、存儲桶和對象的數(shù)量,這可能需要很長時間。比我的 STS 憑據(jù)有效且足夠長的時間我不相信腳本不會被中斷。我希望下面的代碼可以工作,雖然它確實產(chǎn)生了我在使用少量存儲桶測試時正在尋找的輸出,但它僅在完全處理每個存儲桶后寫入已完成的文件和輸出文件,而不是在每次未來返回后寫入。如果它被中斷,則不會寫入已完成的文件和輸出文件。即使已經(jīng)成功處理了許多桶。if __name__ == '__main__':    args_results = parser.parse_args()    completed = open(args_results.completed, 'a+')    out = open(args_results.out, 'a+')      done = getCompleted(args_results.completed)     todo = getBuckets(args_results.todo)    with ThreadPoolExecutor(max_workers=10) as executor:        futures = []        for item in todo:             if item not in done:                account, bucket = item.split('|')                futures.append(executor.submit(getBucketInfo, account, bucket))        for x in as_completed(futures):            result = x.result()            out.write(result + '\n')            completed.write(result['Account'] + '|' + result['Bucket'] + '\n')我是否誤解了 as_completed() 功能應(yīng)該如何工作?
查看完整描述

1 回答

?
眼眸繁星

TA貢獻1873條經(jīng)驗 獲得超9個贊

我需要在打開文件時添加行緩沖,以便它們在寫入的每一行時刷新到磁盤。


completed = open(args_results.completed, 'a+', buffering=1)

out = open(args_results.out, 'a+', buffering=1)

問題解決了。


查看完整回答
反對 回復(fù) 2021-08-11
  • 1 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號