文件夾copy器(多進(jìn)程版)

需求實(shí)現(xiàn)一個多進(jìn)程版本的copy器

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()

    # 發(fā)送已經(jīng)拷貝完畢的文件名字
    queue.put(file_name)


def main():
    # 獲取要復(fù)制的文件夾
    source_folder_name = input("請輸入要復(fù)制文件夾名字:")

    # 整理目標(biāo)文件夾
    dest_folder_name = source_folder_name + "[副本]"

    # 創(chuàng)建目標(biāo)文件夾
    try:
        os.mkdir(dest_folder_name)
    except:
        pass  # 如果文件夾已經(jīng)存在路鹰,那么創(chuàng)建會失敗

    # 獲取這個文件夾中所有的普通文件名
    file_names = os.listdir(source_folder_name)

    # 創(chuàng)建Queue
    queue = multiprocessing.Manager().Queue()

    # 創(chuàng)建進(jìn)程池
    pool = multiprocessing.Pool(3)

    for file_name in file_names:
        # 向進(jìn)程池中添加任務(wù)
        pool.apply_async(copy_file, args=(queue, file_name, source_folder_name, dest_folder_name))

    # 主進(jìn)程顯示進(jìn)度
    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()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市电湘,隨后出現(xiàn)的幾起案子蝌数,更是在濱河造成了極大的恐慌,老刑警劉巖馁龟,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囚巴,死亡現(xiàn)場離奇詭異况脆,居然都是意外死亡驻粟,警方通過查閱死者的電腦和手機(jī)根悼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挤巡,你說我怎么就攤上這事剩彬。” “怎么了玄柏?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵襟衰,是天一觀的道長。 經(jīng)常有香客問我粪摘,道長,這世上最難降的妖魔是什么绍坝? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任徘意,我火速辦了婚禮,結(jié)果婚禮上轩褐,老公的妹妹穿的比我還像新娘椎咧。我一直安慰自己,他們只是感情好把介,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布勤讽。 她就那樣靜靜地躺著,像睡著了一般拗踢。 火紅的嫁衣襯著肌膚如雪脚牍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天巢墅,我揣著相機(jī)與錄音诸狭,去河邊找鬼。 笑死君纫,一個胖子當(dāng)著我的面吹牛驯遇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蓄髓,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼叉庐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了会喝?” 一聲冷哼從身側(cè)響起陡叠,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎好乐,沒想到半個月后匾竿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔚万,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年岭妖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昵慌,死狀恐怖假夺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斋攀,我是刑警寧澤已卷,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站淳蔼,受9級特大地震影響侧蘸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鹉梨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一讳癌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧存皂,春花似錦晌坤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至疤孕,卻和暖如春商乎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背胰柑。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工截亦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柬讨。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓崩瓤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親踩官。 傳聞我的和親對象是個殘疾皇子却桶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,144評論 25 707
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 29,392評論 8 265
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)蔗牡,斷路器颖系,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 在裝修過程中嘁扼,我們經(jīng)常會碰到采光的問題,如果根據(jù)房子的地形來設(shè)計(jì)陽光房黔攒,這是我們需要去考慮的問題趁啸。在這里我與大家分...
    走在田埂上的螞蟻閱讀 5,052評論 0 0
  • 瑞穗---花蓮83km 天氣不錯强缘,山中空氣清新,略帶濕氣不傅,很是舒服旅掂。早上裝車出了點(diǎn)兒狀況,覺得車胎有些虧氣访娶,用氣筒...
    WN_1938閱讀 253評論 0 0