多程序目錄檔案copy器python

2021-10-06 05:58:28 字數 1870 閱讀 7292

乙個多程序拷貝某個目錄下的檔案的程式**(有進度顯示)

import os

import multiprocessing

defcopy_file

(q, file_name, old_folder_name, new_folder_name)

:# 完成檔案的複製的任務

# print("*****====>>>>>模擬拷貝檔案:%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)

defmain()

:# 獲取使用者要拷貝的資料夾的名字

old_folder_name =

input

("請輸入要拷貝的資料夾的名字:"

)# 建立乙個新的資料夾 用來存放所要拷貝的檔案

try:

new_folder_name = old_folder_name +

"副本"

os.mkdir(new_folder_name)

except

:pass

# 獲取資料夾中要拷貝的檔案的名字

file_names = os.listdir(old_folder_name)

#print(file_names)

# 建立程序池

po = multiprocessing.pool(5)

# 建立佇列

q = multiprocessing.manager(

).queue(

)# 向程序池中新增要拷貝檔案的任務

for file_name in file_names:

(q, file_name, old_folder_name, new_folder_name)

) po.close(

)# po.join()

all_file_num =

len(file_names)

copy_ok_num =

0while

true

: file_name = q.get(

)# print("已經完成複製:%s" % file_name)

copy_ok_num +=

1print

("\r拷貝的進度:%.2f%%"

大家在寫的時候注意下檔案的路徑問題

Python多程序Copy檔案

import os import time def readallfiles dirname 獲取指定目錄的所有內容 all files 1.盤頓目錄是否存在?if os.path.exists dirname 依次遍歷目錄裡面的所有內容 for root,dirs,files in os.walk...

python核心 多程序copy檔案

1.獲取要copy的資料夾的姓名 2.建立乙個資料夾 3.獲取old資料夾中的所有的檔案名字 4.使用多程序的方式copy原資料夾中的所有檔案到新資料夾中 匯入需要的模組 from multiprocessing import pool,manager import os def copyfilet...

Python資料夾copy器(多程序版)

import multiprocessing import os import time import random defcopy file queue,file name,source folder name,dest folder name copy檔案到指定的路徑 f read open s...