欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)解壓當(dāng)天創(chuàng)建的ZIP文件到指定文件夾中

 更新時間:2024年03月24日 08:18:09   作者:懸崖上的金魚  
這篇文章主要為大家詳細介紹了Python如何實現(xiàn)解壓當(dāng)天創(chuàng)建的ZIP文件到指定文件夾中,文中的示例代碼講解詳細,需要的小伙伴可以參考下

1. 首先,導(dǎo)入了需要使用的模塊:

- `zipfile`:用于處理ZIP文件的模塊。

- `os`:提供了與操作系統(tǒng)交互的功能。

- `shutil`:用于高級文件操作,例如移動文件等。

- `datetime`:用于處理日期和時間的模塊。

2. 定義了一個函數(shù) `unzip_todays_files(zip_files_folder, extract_folder)`,該函數(shù)接受兩個參數(shù):

- `zip_files_folder`:包含ZIP文件的文件夾路徑。- `extract_folder`:解壓縮目標(biāo)文件夾的路徑。

3. 獲取當(dāng)前日期

today = datetime.datetime.now().date()  

這里使用 `datetime.datetime.now().date()` 獲取當(dāng)前日期。

4. 遍歷指定文件夾中的所有ZIP文件:

for file_name in os.listdir(zip_files_folder):
    if file_name.endswith('.zip'):
        ...

使用 `os.listdir(zip_files_folder)` 獲取指定文件夾中的所有文件名,然后檢查文件名是否以 `.zip` 結(jié)尾,以過濾出ZIP文件。

5. 檢查ZIP文件是否是當(dāng)天創(chuàng)建的

create_date = datetime.datetime.fromtimestamp(os.path.getctime(zip_file_path)).date()
if create_date == today:
    ...

使用 `os.path.getctime(zip_file_path)` 獲取文件的創(chuàng)建時間,然后將其轉(zhuǎn)換為日期。接著,將其與當(dāng)前日期進行比較,以確定文件是否是當(dāng)天創(chuàng)建的。

6. 解壓縮ZIP文件:

with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
    ...

使用 `zipfile.ZipFile` 打開ZIP文件,并指定為只讀模式。使用 `with` 上下文管理器確保在退出上下文時關(guān)閉文件。

7. 獲取解壓后的文件列表:

extracted_files = zip_ref.namelist()

使用 `zip_ref.namelist()` 獲取ZIP文件中的所有文件名列表。

8. 根據(jù)文件名中的特定信息判斷存儲目錄:

for extracted_file in extracted_files:
    if 'YYFX' in extracted_file:
        target_folder = extract_folder2
    elif '其他特定信息' in extracted_file:
        target_folder = '目標(biāo)文件夾路徑2'
    else:
        target_folder = extract_folder  # 默認存儲到解壓目標(biāo)文件夾

根據(jù)文件名中的特定信息,判斷應(yīng)該將文件解壓到哪個目標(biāo)文件夾。如果文件名中包含 `'YYFX'`,則將文件解壓到 `extract_folder2`;如果文件名中包含其他特定信息,則將文件解壓到另一個目標(biāo)文件夾;否則,默認將文件解壓到 `extract_folder`。

9. 確保目標(biāo)文件夾存在:

os.makedirs(target_folder, exist_ok=True)

使用 `os.makedirs(target_folder, exist_ok=True)` 創(chuàng)建目標(biāo)文件夾,如果目標(biāo)文件夾不存在的話。

10. 解壓文件到目標(biāo)文件夾:

zip_ref.extract(extracted_file, target_folder)

使用 `zip_ref.extract(extracted_file, target_folder)` 將文件解壓到目標(biāo)文件夾中。

11. 打印解壓信息:

print(f"已解壓文件: {extracted_file} 到目標(biāo)文件夾: {target_folder}")

打印已解壓的文件名和目標(biāo)文件夾路徑。

完整代碼

import zipfile
import os
import shutil
import datetime


def unzip_todays_files(zip_files_folder, extract_folder):
    # 獲取當(dāng)前日期
    today = datetime.datetime.now().date()

    # 遍歷指定文件夾中的所有ZIP文件
    for file_name in os.listdir(zip_files_folder):
        if file_name.endswith('.zip'):
            # 構(gòu)建ZIP文件的完整路徑
            zip_file_path = os.path.join(zip_files_folder, file_name)

            # 獲取ZIP文件的創(chuàng)建日期
            create_date = datetime.datetime.fromtimestamp(os.path.getctime(zip_file_path)).date()

            # 檢查ZIP文件是否是當(dāng)天創(chuàng)建的
            if create_date == today:
                print(f"正在解壓文件: {zip_file_path}")
                # 打開ZIP文件
                with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
                    # 獲取解壓后的文件列表
                    extracted_files = zip_ref.namelist()

                    # 根據(jù)文件名中的特定信息判斷應(yīng)該存儲到哪個文件夾
                    for extracted_file in extracted_files:
                        # 根據(jù)文件名中的特定信息判斷存儲目錄
                        if 'YYFX' in extracted_file:
                            target_folder = extract_folder2
                        elif '其他特定信息' in extracted_file:
                            target_folder = '目標(biāo)文件夾路徑2'
                        else:
                            target_folder = extract_folder  # 默認存儲到解壓目標(biāo)文件夾

                        # 確保目標(biāo)文件夾存在
                        os.makedirs(target_folder, exist_ok=True)

                        # 解壓文件到目標(biāo)文件夾
                        zip_ref.extract(extracted_file, target_folder)

                        print(f"已解壓文件: {extracted_file} 到目標(biāo)文件夾: {target_folder}")


# 指定包含ZIP文件的文件夾路徑和解壓縮目標(biāo)文件夾路徑
zip_files_folder = 'C:\\Users\\Administrator\\Downloads'  # 包含ZIP文件的文件夾
extract_folder = 'F:\\工作內(nèi)容\\我的數(shù)據(jù)\\商品費用解析數(shù)據(jù)'  # 已經(jīng)存在的目錄
extract_folder2 = 'F:\\工作內(nèi)容\\我的數(shù)據(jù)\\訂單列表數(shù)據(jù)'

# 調(diào)用函數(shù)解壓縮當(dāng)天創(chuàng)建的文件
unzip_todays_files(zip_files_folder, extract_folder)

以上就是Python實現(xiàn)解壓當(dāng)天創(chuàng)建的ZIP文件到指定文件夾中的詳細內(nèi)容,更多關(guān)于Python解壓ZIP到指定文件夾的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python使用OS模塊操作系統(tǒng)接口及常用功能詳解

    python使用OS模塊操作系統(tǒng)接口及常用功能詳解

    os是?Python?標(biāo)準(zhǔn)庫中的一個模塊,提供了與操作系統(tǒng)交互的功能,在本節(jié)中,我們將介紹os模塊的一些常用功能,并通過實例代碼詳細講解每個知識點
    2023-06-06
  • Python黑帽編程 3.4 跨越VLAN詳解

    Python黑帽編程 3.4 跨越VLAN詳解

    VLAN(Virtual Local Area Network),是基于以太網(wǎng)交互技術(shù)構(gòu)建的虛擬網(wǎng)絡(luò),既可以將同一物理網(wǎng)絡(luò)劃分成多個VALN,也可以跨越物理網(wǎng)絡(luò)障礙,將不同子網(wǎng)中的用戶劃到同一個VLAN中。這篇文章主要介紹了Python黑帽編程 3.4 跨越VLAN 的相關(guān)資料,需要的朋友參考下
    2016-09-09
  • pycharm 使用心得(四)顯示行號

    pycharm 使用心得(四)顯示行號

    這篇文章主要介紹了pycharm顯示行號的方法,需要的朋友可以參考下
    2014-06-06
  • Python讀取預(yù)處理DICOM文件方式詳解

    Python讀取預(yù)處理DICOM文件方式詳解

    這篇文章主要介紹了Python讀取預(yù)處理DICOM文件方式,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 時間序列分析之ARIMA模型預(yù)測餐廳銷量

    時間序列分析之ARIMA模型預(yù)測餐廳銷量

    這篇文章主要介紹了時間序列分析之ARIMA模型預(yù)測餐廳銷量,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python實現(xiàn)機器學(xué)習(xí)算法的分類

    Python實現(xiàn)機器學(xué)習(xí)算法的分類

    今天給大家整理了Python實現(xiàn)機器學(xué)習(xí)算法的分類的文章,文中有非常詳細的代碼示例,對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Python?ttkbootstrap?制作賬戶注冊信息界面的案例代碼

    Python?ttkbootstrap?制作賬戶注冊信息界面的案例代碼

    ttkbootstrap 是一個基于 tkinter 的界面美化庫,使用這個工具可以開發(fā)出類似前端 bootstrap 風(fēng)格的 tkinter 桌面程序。本文重點給大家介紹Python?ttkbootstrap?制作賬戶注冊信息界面的案例代碼,感興趣的朋友一起看看吧
    2022-02-02
  • Python unittest 簡單實現(xiàn)參數(shù)化的方法

    Python unittest 簡單實現(xiàn)參數(shù)化的方法

    今天小編就為大家分享一篇Python unittest 簡單實現(xiàn)參數(shù)化的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python筆記之Scipy.stats.norm函數(shù)使用解析

    Python筆記之Scipy.stats.norm函數(shù)使用解析

    這篇文章主要介紹了Python筆記之Scipy.stats.norm函數(shù)使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 深入了解Python中的序列解包

    深入了解Python中的序列解包

    在Python中,序列解包(Sequence Unpacking)指的是將一個序列(或任何可迭代的對象)解包,并將得到的值存儲在一系列變量中,下面我們就來學(xué)習(xí)一下Python中序列解包的用法吧
    2023-10-10

最新評論