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

使用python制作一個(gè)解壓縮軟件

 更新時(shí)間:2019年11月13日 11:17:41   作者:Woo_home  
這篇文章主要介紹了python制作一個(gè)解壓縮軟件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

python實(shí)現(xiàn)解壓縮的重要模塊就是——zipfile,其次是os

安裝zipfile模塊

首先得安裝zipfile模塊,打開cmd輸入一下命令即可安裝

pip install zipfile

在這里插入圖片描述

os是python自帶的庫(kù),所以無(wú)需另外安裝,直接 import 即可

編寫核心代碼

壓縮文件核心代碼:

def zip_file():
  zip_name = path.get() +'.zip'              # 獲取絕對(duì)路徑然后給壓縮文件加上.zip結(jié)尾   
  z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED) # 寫入.zip
  for dirpath, dirnames, filenames in os.walk(path.get()):# 使用os遍歷目錄路徑,目錄名,文件名
    fpath = dirpath.replace(path.get(),'')       # 獲取目錄路徑
    fpath = fpath and fpath + os.sep or ''       
    for filename in filenames:             # 迭代文件名
      z.write(os.path.join(dirpath, filename),fpath+filename) # 寫入
  z.close()                        # 關(guān)閉資源,以免占用內(nèi)存
  zip_file_message()                   # 調(diào)用zip_file_message彈出信息框

解壓文件核心代碼:

def unzip_file():
  r = zipfile.is_zipfile(filename.get())     # 判斷是否為壓縮文件以.zip為判斷依據(jù)
  if r:                      # 如果是則執(zhí)行if里面的語(yǔ)句,如果不是執(zhí)行else里面的語(yǔ)句
    fz = zipfile.ZipFile(filename.get(), 'r')  # 讀取壓縮文件
    for file in fz.namelist():         # 遍歷文件
      fz.extract(file, outputfile.get())   # 輸出文件
    unzip_file_message()            # 調(diào)用unzip_file_message彈出信息框
  else:
    failed()                  # 調(diào)用failed彈出信息框

以上基本可以實(shí)現(xiàn)文件的解壓和壓縮了,但是如果想給別人也能使用呢?比如你想發(fā)給你女朋友使用,但是她的電腦沒有安裝python環(huán)境,安裝又顯得麻煩那怎么弄?沒事,我們可以結(jié)合tkinter圖形界面來(lái)整合一下

安裝tkinter模塊

tkinter是一個(gè)圖形界面的模塊,類似的有pyqt,感興趣的朋友可以去網(wǎng)上了解一下

安裝tkinter,只需使用下面的命令即可安裝

pip install tkinter

在這里插入圖片描述

安裝成功后,導(dǎo)入我們需要使用的組件

from tkinter import *            # 導(dǎo)入tkinter的所有組件          
from tkinter.filedialog import askdirectory # 導(dǎo)入目錄操作庫(kù)
import tkinter.messagebox          # 彈出消息框
import tkinter.filedialog          # 導(dǎo)入操作文件的庫(kù)

整合代碼

然后整合上面兩個(gè)核心代碼

既然要有圖形界面,首先得有界面是吧

root = Tk()       # 初始化
root.mainloop()     # 顯示窗口

在這里插入圖片描述

有了界面之后就是把組件(按鈕,標(biāo)簽,輸入框)噼里啪啦的加上去就行了,這里就不具體描述了

具體代碼實(shí)現(xiàn):

from tkinter import *            # 導(dǎo)入tkinter的所有組件          
from tkinter.filedialog import askdirectory # 導(dǎo)入目錄操作庫(kù)
import tkinter.messagebox          # 彈出消息框
import tkinter.filedialog          # 導(dǎo)入操作文件的庫(kù)

# 界面代碼實(shí)現(xiàn)
def main():

  # label標(biāo)簽 grid括號(hào)中的row代表你的label是放在第幾行,column是放在第幾列
  Label(root,text = "壓縮目錄路徑:").grid(row = 0, column = 0)

  # Entry是獲取輸入
  Entry(root, textvariable = path).grid(row = 0, column = 1)

  # 操作按鈕
  Button(root, text = "目錄選擇", command = selectPath).grid(row = 0, column = 2)

  # Label標(biāo)簽
  Label(root,text = "解壓目錄路徑:").grid(row = 1, column = 0)
  
  # Entry是獲取輸入
  Entry(root, textvariable = filename).grid(row = 1, column = 1)
  
  # 操作按鈕
  Button(root, text = "文件選擇", command = selectFile).grid(row = 1, column = 2)

  # Label標(biāo)簽
  Label(root,text = "解壓到:").grid(row = 2, column = 0)
  
  # Entry是獲取輸入
  Entry(root, textvariable = outputfile).grid(row = 2, column = 1)
  
  # 操作按鈕
  Button(root, text = "解壓路徑選擇", command = outputFlie).grid(row = 2, column = 2)

  # 操作按鈕
  Button(root,text="壓縮文件",command=zip_file).grid(row=3,column=0)
  
  # 操作按鈕
  Button(root,text="解壓文件",command=unzip_file).grid(row=3,column=2)

  # 操作按鈕
  Button(root,text="退出程序",command=root.quit).grid(row=4,column=1)
  
  #顯示操作界面
  root.mainloop()

if __name__ == '__main__':
  root = Tk()       # 初始化
  path = StringVar()    # 顯示路徑名
  filename = StringVar()  # 顯示文件路徑名
  outputfile = StringVar() # 顯示解壓后的文件路徑名
  main()          # 調(diào)用main函數(shù)

最終的界面實(shí)現(xiàn)如下:


在這里插入圖片描述

效果展示

在這里插入圖片描述

比如我們現(xiàn)在壓縮一個(gè)400M的文件在這里插入圖片描述

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-xU5MTifq-1573462815805)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191111164233006.png)]

壓縮之后的文件大小為:

在這里插入圖片描述

壓縮的速度還是挺快的,對(duì)比一下RAR壓縮之后的大小

在這里插入圖片描述

可以看到RAR壓縮的好像更小點(diǎn),但是無(wú)太大差別,且壓縮速度上RAR要慢一點(diǎn)。反正這是我們自己做的,能做到這樣也挺不錯(cuò)了是吧

安裝pyinstaller模塊

編寫完代碼之后就是將代碼進(jìn)行打包了,打包需要用到的模塊就是 pyinstaller ,安裝該模塊也是非常簡(jiǎn)單,只需要使用下面的命令

pip install pyinstaller

打包程序?yàn)榭蓤?zhí)行文件

安裝成功之后再次輸入命令進(jìn)行打包

pyinstaller -F -w 你的文件名.py

打包了,打包需要用到的模塊就是 pyinstaller ,安裝該模塊也是非常簡(jiǎn)單,只需要使用下面的命令

pip install pyinstaller

打包程序?yàn)榭蓤?zhí)行文件

安裝成功之后再次輸入命令進(jìn)行打包

pyinstaller -F -w 你的文件名.py

然后會(huì)在dist目錄下生成一個(gè) “你的文件名的.exe” 的可執(zhí)行文件,那就大功告成了

總結(jié)

以上所述是小編給大家介紹的使用python制作一個(gè)解壓縮軟件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python實(shí)現(xiàn)快速排序的方法詳解

    Python實(shí)現(xiàn)快速排序的方法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)快速排序的方法,結(jié)合實(shí)例形式詳細(xì)分析了快速排序的思路、原理及Python具體實(shí)現(xiàn)技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Python使用Selenium執(zhí)行JavaScript代碼的步驟詳解

    Python使用Selenium執(zhí)行JavaScript代碼的步驟詳解

    Selenium是一個(gè)用于自動(dòng)化瀏覽器操作的工具,可以模擬人工操作,執(zhí)行各種瀏覽器操作,而JavaScript是一種常用的腳本語(yǔ)言,本文將介紹如何在Python中使用Selenium執(zhí)行JavaScript代碼,并給出一些常見的應(yīng)用示例
    2023-11-11
  • Django封裝交互接口代碼

    Django封裝交互接口代碼

    這篇文章主要介紹了Django封裝交互接口代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Python 注解方式實(shí)現(xiàn)緩存數(shù)據(jù)詳解

    Python 注解方式實(shí)現(xiàn)緩存數(shù)據(jù)詳解

    這篇文章主要介紹了Python 注解方式實(shí)現(xiàn)緩存數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 使用Python的開發(fā)框架Brownie部署以太坊智能合約

    使用Python的開發(fā)框架Brownie部署以太坊智能合約

    在本文中,我們將使用Python部署智能合約。這篇文章可能是您走向智能合約和區(qū)塊鏈開發(fā)的橋梁!
    2021-05-05
  • Python中的yield淺析

    Python中的yield淺析

    這篇文章主要介紹了Python中的yield淺析,對(duì)迭代器(iterator) 、生成器(constructor)一并做了分析,并用實(shí)例來(lái)說(shuō)明,需要的朋友可以參考下
    2014-06-06
  • Python實(shí)現(xiàn)錄屏功能的示例代碼

    Python實(shí)現(xiàn)錄屏功能的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)錄屏功能,文中的示例代碼講解詳細(xì),對(duì)我們掌握Python開發(fā)有一定的幫助,需要的可以參考一下
    2023-03-03
  • Pytorch之8層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)Cifar-10圖像分類驗(yàn)證集準(zhǔn)確率94.71%

    Pytorch之8層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)Cifar-10圖像分類驗(yàn)證集準(zhǔn)確率94.71%

    這篇文章主要介紹了Pytorch之8層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)Cifar-10圖像分類驗(yàn)證集準(zhǔn)確率94.71%問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python進(jìn)階教程之異常處理

    python進(jìn)階教程之異常處理

    這篇文章主要介紹了python進(jìn)階教程之異常處理,在項(xiàng)目開發(fā)中,異常處理是不可或缺的,需要的朋友可以參考下
    2014-08-08
  • 提升python處理速度原理及方法實(shí)例

    提升python處理速度原理及方法實(shí)例

    這篇文章主要介紹了提升python處理速度原理及方法實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論