unrar解壓 用Python寫解壓縮的指令碼檔案

2021-10-11 23:48:14 字數 1991 閱讀 6379

廢話不多說,直接上碼

提前要安裝一下zipfile的包喲!

#沒有zipfile包的童鞋請開啟你的cmd

#pip install zipfile

import zipfile

import os

def zipping(startdir):

file_new = startdir+'.zip'

z = zipfile.zipfile(file_new,'w',zipfile.zip_deflated)

for dirpath, dirnames, filenames in os.walk(startdir):

#fpath = dirpath.replace(startdir,'')

#fpath = fpath and fpath + os.sep or ''

for filename in filenames:

z.write(os.path.join(dirpath,filename))

z.close()

while(1):

startdir = input("input the dir")

if startdir=="":

startdir = pyperclip.paste()

print(startdir)

zipping(startdir)

print("success")

打包好的程式會直接在上級目錄裡顯示。

需要提前安裝unrar 和pypclip包喲,和上邊的一樣pip install unrar/pypclip ,就完事了~

有打包成".rar" 和 ".zip"的兩種方法,執行指令碼後想打包成rar的話輸入1,zip的話輸入2

import os

import zipfile

import pyperclip

from unrar import rarfile

case = input("rar=1 zip=2:")

if case == str(1):

dir1 = input("請輸入要解壓的路徑,或者將路徑貼到貼上板上")

if dir1 =="":

dir1 = pyperclip.paste()

print(dir1)

dir2 = input("請輸入解壓到的路徑,或將路徑貼上到剪下板上")

if dir2 =="":

dir2 = pyperclip.paste()

print(dir2)

file =rarfile.rarfile(dir1)

file.extractall(dir2)

if case == str(2):

dir1 = input("請輸入要解壓的路徑,或者將路徑貼到貼上板上")

if dir1 =="":

dir1 = pyperclip.paste()

print(dir1)

dir2 = input("請輸入解壓到的路徑,或將路徑貼上到剪下板上")

if dir2 =="":

dir2 = pyperclip.paste()

print(dir2)

if zipfile.is_zipfile(dir1):

zp = zipfile.zipfile(dir1,'r')

for file in zp.namelist():

zp.extract(file,dir2)

上面的指令碼可以指定解壓到的位址,嫌麻煩的童鞋可以直接ctrl+c一下,把要解壓或解壓到的位址貼到剪下板上。是不是很貼心~

更加炫酷的功能

hunkydory:用cmd來執行python檔案​zhuanlan.zhihu.com

Centos使用unrar解壓rar壓縮包

wget 解壓到指定目錄 tar xf rarlinux x64 6.0.0.tar.gz c usr local 建立軟鏈結 ln s usr local rar rar usr local bin rar ln s usr local rar unrar usr local bin unrar ...

python 函式用寫 嗎 python如何寫函式

python函式的定義 定義函式,也就是建立乙個函式,可以理解為建立乙個具有某些用途的工具。定義函式需要用 def 關鍵字實現,具體的語法格式如下 def 函式名 形參列表 由零條到多條可執行語句組成的 塊 return 返回值 其中,用 括起來的為可選擇部分,即可以使用,也可以省略。此格式中,各部...

用Python寫網路程式設計

網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端稱為乙個socket 所謂socket通常也稱作 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼,應用程式通常通過 套接字 向網路發出請求或應答網路請求 socket起源於uinx,而unix linux基本哲學之一就是 一切...