python應用 資料夾copy器(多程序版)

2021-09-26 10:40:12 字數 1563 閱讀 4700

import multiprocessing

import os

import time

import random

def copy_file(queue, file_name,source_folder_name, dest_folder_name):

"""copy檔案到指定的路徑"""

f_read = open(source_folder_name + "/" + file_name, "rb")

f_write = open(dest_folder_name + "/" + file_name, "wb")

while true:

time.sleep(random.random())

content = f_read.read(1024)

if content:

f_write.write(content)

else:

break

f_read.close()

f_write.close()

# 傳送已經拷貝完畢的檔案名字

queue.put(file_name)

def main():

# 獲取要複製的資料夾

source_folder_name = input("請輸入要複製資料夾名字:")

# 整理目標資料夾

dest_folder_name = source_folder_name + "[副本]"

# 建立目標資料夾

try:

os.mkdir(dest_folder_name)

except:

pass # 如果資料夾已經存在,那麼建立會失敗

# 獲取這個資料夾中所有的普通檔名

file_names = os.listdir(source_folder_name)

# 建立queue

queue = multiprocessing.manager().queue()

# 建立程序池

pool = multiprocessing.pool(3)

for file_name in file_names:

# 向程序池中新增任務

# 主程序顯示進度

pool.close()

all_file_num = len(file_names)

while true:

file_name = queue.get()

if file_name in file_names:

file_names.remove(file_name)

copy_rate = (all_file_num-len(file_names))*100/all_file_num

print("\r%.2f...(%s)" % (copy_rate, file_name) + " "*50, end="")

if copy_rate >= 100:

break

print()

if __name__ == "__main__":

main()

iOS應用資料夾

如果你要檔案不刪除但是也不備份,可以使用下面 來做標記,不做備份處理 1 bool addskipbackupattributetoitematurl nsurl url210 return success 11 1 import 2 bool addskipbackupattributetoite...

python多工資料夾copy顯示進度

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 fo...

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...