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

Python小程序編程實現(xiàn)一鍵自動整理文件解壓文件

 更新時間:2023年02月16日 14:18:56   作者:fanstuck  
這篇文章主要為大家介紹了Python小程序編程實現(xiàn)一鍵自動整理文件解壓文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

什么是效率?簡單就是效率!但是想要自己做的小程序足夠美觀可不是一件簡單的事。一開始想做個小程序思路就是有個普通的button,一鍵使用就好了。但是寫下來還是發(fā)現(xiàn)沒用前端和結(jié)構(gòu)話的編程后期維護很麻煩,所以以后的程序格式都應該盡量符合業(yè)界規(guī)范。世界上那么多種解決問題的方法,為什么大家都認可那么一兩鐘?肯定是有他的道理的。好了廢話不多說,現(xiàn)在開始設(shè)計我們的小程序。

一、小程序構(gòu)建思路

1.需求

首先我們先確定需求:

我們需要一個可以選擇目錄,自動處理該目錄下面的文件。我們知道文件它是有類型的,而我們可以通過文件的后綴名稱來分類。其中有txt、json、pdf、word等。

第二個需求能夠選中解壓文件并且判斷該文件是否為壓縮文件,是壓縮文件則進行解壓。

以上就是我們寫這個小程序的目的。

2.技術(shù)

首先我們肯定Python進行編程,需要用到其他的庫。其中我們需要一個界面可以進行交互。該界面可以選擇我們的功能模式。還有一個選擇目錄的功能,能夠?qū)⒛夸浡窂阶x取并且顯示。那么我們先從界面來考慮,既然是小程序那就設(shè)計成窗口的樣子。

第一個技術(shù)依賴:Python tkinter

該庫Tkinter 模塊(Tk 接口)是 Python 的標準 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多數(shù)的 Unix 平臺下使用,同樣可以應用在 Windows 和 Macintosh 系統(tǒng)里。Tk8.0 的后續(xù)版本可以實現(xiàn)本地窗口風格,并良好地運行在絕大多數(shù)平臺中。 直接安裝該庫即可:

pip install tkinter

第二個技術(shù)依賴:os庫、shutil

shutil是 篇python 中的高級文件操作模塊,與os模塊形成互補的關(guān)系,os主要提供了文件或文件夾的新建、刪除、查看等方法,還提供了對文件以及目錄的路徑操作。shutil模塊提供了移動、復制、 壓縮、解壓等操作,恰好與os互補,共同一起使用,基本能完成所有文件的操作。是一個非常重要的模塊。

這些庫都是python自帶標準庫里面自帶的,直接引入就行。

第三個技術(shù)依賴: zipfile

zipfile是python里用來做zip格式編碼的壓縮和解壓縮的,由于是很常見的zip格式,所以這個模塊使用頻率也是比較高的。也是自帶的庫,調(diào)用就好。

二、編程實現(xiàn)

1.引入庫

from tkinter import *
import os
from tkinter.filedialog import askdirectory
from tkinter.filedialog import askopenfilename
from tkinter import messagebox
import shutil
import zipfile

2.窗口調(diào)整

首先創(chuàng)建出一個界面,我們需要定義該界面窗口的長和寬,以及窗口名稱和窗口展示位置:

app=Tk()
app_w=app.winfo_screenwidth()
app_h=app.winfo_height()
width=350
heigh=260
x=(app_w-width)/2
y=(app_h-heigh)/2
app.geometry('350x260+600+300')
#app.geometry("%dx%d+%d+%d" % (width,heigh,x,y))
app.title("文件助手")

之后我們要把獲取的路徑顯示出來:

Label(app,text='picture',image=photo).pack()
Label(app,text='文件助手',font={'Airal',20,'bold'}).place(x=140,y=1,anchor='nw')
lable_path=Label(app,name='path')
lable_path.place(x=85,y=90,anchor='nw')
f_name=''

3.選擇目錄

 選擇目錄后,保存目錄的路徑

def select_dir():
    global f_name
    f_name = askdirectory()
    lable_path['text']=f_name

獲取文件目錄和文件名稱,創(chuàng)建目標目錄,并把統(tǒng)一類別文件移動到該目錄:

def clean(f):
    forder_name = f_name + '/' + f.split('.')[-1]
    file_name = f_name + '/' + f
    if not os.path.exists(forder_name):
        os.makedirs(forder_name)
    elif os.path.exists(forder_name + '/' + f):
        return
    else:
        shutil.move(file_name,forder_name)

根據(jù)文件的后綴進行歸類:

def sort():
    count=0
    for f in os.listdir(f_name):
        if '.' in f:
            clean(f)
            count += 1
    messagebox.showinfo(title='提示',message='你已經(jīng)成功整理了%d個文件'%count)

最后我們來設(shè)計解壓縮功能,這里先對文件進行判斷是否為壓縮文件,之后進行解壓到該目錄:

def unzip_file():
    zip_name = askopenfilename()#壓縮包名
    r = zipfile.is_zipfile(zip_name)
    if r:
        fz = zipfile.ZipFile(zip_name)
        for file in fz.namelist():
            print(file)
            fz.extract(file, f_name)
        messagebox.showinfo(title='提示', message='已解壓該文件')
    else:
        messagebox.showinfo(title='提示', message='這不是壓縮文件')

最后我們再給我們的窗口設(shè)定按鈕接口:

bt1=Button(app,text='選擇目錄',command=select_dir)
bt1.place(x=50,y=170,anchor='nw')
bt1=Button(app,text='整理文件',command=sort)
bt1.place(x=145,y=170,anchor='nw')
bt1=Button(app,text='解壓文件',command=unzip_file)
bt1.place(x=235,y=170,anchor='nw')
app.mainloop()

大家還可以插入自己想要的圖片,更加美觀:

選擇目錄后自動保存路徑顯示:

我們可以進行測試,在測試目錄下創(chuàng)建不同類型的文件:

 選擇目錄分類:

效果:

以上就是Python小程序編程實現(xiàn)一鍵自動整理文件解壓文件的詳細內(nèi)容,更多關(guān)于Python自動整理解壓文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Yolov5更換BiFPN的詳細步驟總結(jié)

    Yolov5更換BiFPN的詳細步驟總結(jié)

    將YOLOv5中的PANet層修改為EfficientDet-BiFPN,實現(xiàn)自上而下與自下而上的深淺層特征雙向融合,明顯提升YOLOv5算法檢測精度,下面這篇文章主要給大家介紹了關(guān)于Yolov5更換BiFPN的詳細步驟,需要的朋友可以參考下
    2022-12-12
  • python對execl 處理操作代碼

    python對execl 處理操作代碼

    這篇文章主要介紹了python對execl 處理操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Python os.listdir與os.walk實現(xiàn)獲取路徑詳解

    Python os.listdir與os.walk實現(xiàn)獲取路徑詳解

    這篇文章主要介紹了Python使用os.listdir和os.walk獲取文件路徑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-10-10
  • Python logging簡介詳解

    Python logging簡介詳解

    這篇文章主要介紹了Python日志模塊logging簡介,本文講解了Logger、Handler、Formatter、日志配置管理、通過文件配置管理日志等內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 使用Python機器學習降低靜態(tài)日志噪聲

    使用Python機器學習降低靜態(tài)日志噪聲

    今天小編就為大家分享一篇關(guān)于使用Python和機器學習的靜態(tài)日志噪聲的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • Django調(diào)用支付寶接口代碼實例詳解

    Django調(diào)用支付寶接口代碼實例詳解

    這篇文章主要介紹了Django調(diào)用支付寶接口代碼實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Python數(shù)據(jù)庫sqlite3圖文實例詳解

    Python數(shù)據(jù)庫sqlite3圖文實例詳解

    SQLite是一個進程內(nèi)的庫,實現(xiàn)了自給自足的、無服務器的、零配置的、事務性的SQL數(shù)據(jù)庫引擎,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)庫sqlite3的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Python 找出出現(xiàn)次數(shù)超過數(shù)組長度一半的元素實例

    Python 找出出現(xiàn)次數(shù)超過數(shù)組長度一半的元素實例

    這篇文章主要介紹了Python 找出出現(xiàn)次數(shù)超過數(shù)組長度一半的元素實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python 模擬動態(tài)產(chǎn)生字母驗證碼圖片功能

    Python 模擬動態(tài)產(chǎn)生字母驗證碼圖片功能

    這篇文章主要介紹了Python 模擬動態(tài)產(chǎn)生字母驗證碼圖片,這里給大家介紹了pillow模塊的使用,需要的朋友可以參考下
    2019-12-12
  • Django繼承自帶user表并重寫的例子

    Django繼承自帶user表并重寫的例子

    今天小編就為大家分享一篇Django繼承自帶user表并重寫的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論