python多程式實現檔案海量複製
python多程式實現檔案海量快速複製
直接上程式碼:
# -*- coding:UTF-8 -*-
import os
import multiprocessing
def copy_file(q,file_name,old_folder_name,new_folder_name):
'''完成檔案的複製'''
# print('======>模擬copy檔案:從%s--->%s 檔名是:%s' % (old_folder_name,new_folder_name,file_name))
old_f = open(old_folder_name+'/'+file_name,'rb')
content = old_f.read()
old_f.close()
new_f = open(new_folder_name+'/'+file_name,'wb')
new_f.write(content)
new_f.close()
#如果拷貝完檔案,那麼就向佇列寫提高訊息,表示已經完成
q.put(file_name)
def main():
#1.獲取使用者要copy的資料夾的名字
old_folder_name = input("請輸入要copy的資料夾的地址(如:C:\\Users\\admin\\Desktop\\爬的東西):")
#2.建立一個新的資料夾
try:
new_folder_name = old_folder_name+'(復件)'
os.mkdir(new_folder_name)
except:
pass
#3獲取資料夾的所有的待copy的檔名字 listdir()
file_names = os.listdir(old_folder_name)
#print(file_names)
#4.建立程式池
po = multiprocessing.Pool(5)
#5.建立一個佇列
q = multiprocessing.Manager().Queue()
#6.向程式池中新增copy檔案的任務
for file_name in file_names:
po.apply_async(copy_file,args=(q,file_name,old_folder_name,new_folder_name))
po.close()
#po.join()
all_file_num = len(file_names) #計算檔案總數
copy_ok_num = 0
while True:
file_name = q.get()
#print('已經完成copy:%s' % file_name)
print('\r拷貝的進度:%.2f %%' % ((copy_ok_num+1)*100/all_file_num),end='')
copy_ok_num += 1
if copy_ok_num >= all_file_num:
break
if __name__ == '__main__':
main()
如有疑問可移步:
多程式:https://blog.csdn.net/weixin_44840774/article/details/111399723
程式池:https://blog.csdn.net/weixin_44840774/article/details/111408921
相關文章
- delphi多執行緒檔案複製怎麼實現執行緒
- linux中實現檔案的複製(c程式碼實現)LinuxC程式
- 檔案複製(Go語言實現)Go
- 如何批量複製多個檔案到多個目錄中(批量複製檔案,多對多檔案高效操作的方法)
- Java實現檔案複製的四種方式Java
- ZeroClipboard 多個複製按鈕,多個複製連結 實現方式
- Java中實現複製檔案或資料夾Java
- 利用rsync實現快速刪除海量檔案
- Python中Wxpython實現剪下、複製、貼上和檔案開啟功能Python
- 在WIN95中實現檔案複製的程式設計方法 (轉)程式設計
- 簡單的多執行緒複製檔案執行緒
- nc複製檔案
- 複製檔案githubGithub
- Python結合檔名稱將多個檔案複製到不同路徑下Python
- C語言實現檔案複製功能(包括文字檔案和二進位制檔案)C語言
- cp 快捷命令:複製檔案到多個目錄
- [shell例項]——用指令碼實現向多臺伺服器批量複製檔案(nmap、scp)指令碼伺服器
- FastDFS加Redis實現自定義檔名儲存海量檔案ASTRedis
- ubuntu下檔案複製Ubuntu
- 隱藏檔案複製
- python——幾行程式碼,偷偷複製U盤檔案到電腦Python行程
- MFC檔案複製的函式程式程式碼 (轉)函式
- js 實現深複製/深複製JS
- Python shutil用法 複製檔案與目錄操作Python
- 用python生成oracle goldengate複製配置檔案PythonOracleGo
- 怎樣在PB中實現檔案的複製與刪除 (轉)
- mysql檔案複製遷移MySql
- Java-IO:複製檔案Java
- Go語言複製檔案Go
- Java NIO複製檔案功能Java
- Java: 複製檔案最快方法Java
- C# 批量複製檔案C#
- unix下複製檔案(轉)
- linux[批量複製並重新命名]和[批量複製檔案到多個資料夾]Linux
- python檔案操作-讀寫刪除複製總結Python
- MySQL叢集之 主從複製 主主複製 一主多從 多主一叢 實現方式MySql
- HttpFileCollection 實現多檔案上傳HTTP
- 多程式PHP指令碼實現海量資料轉移總結PHP指令碼