導航:首頁 > 編程語言 > python壓縮文件帶密碼

python壓縮文件帶密碼

發布時間:2022-11-03 04:16:13

python學習手冊視頻教程壓縮解壓密碼

去網盤搜:「獵豹網校快速掌握Python 學習手冊」,直接下載未壓縮版,mp4格式的,更清晰。

㈡ 如何用Python寫一個暴力破解加密壓縮包的程

有些時候加密rar軟體經常會忘了密碼,但記得密碼的大概,於是乎用Python寫個程序來暴力破解吧:
首先要搞清楚如何用命令行來解壓縮,經研究,rar軟體解壓是用的unrar.exe,將這個程序拷貝到C:\windows,然後進入加密軟體包所在的文件夾,用命令行運行 下面的命令:
unrar.exe e -pabcd 123.rar

程序就是先前拷到C:\windows,然後參數e是指相對路徑,如果在是本文件夾下運行這個命令,則只打文件名就可以了,輸入密碼的方式是-p後面的欄位,假定是abcd,最後面的是要解壓的文件名。
下面我們解決如何用Python來運行windows下的命令行
import subprocess
command = 'unrar.exe e -n -pabcd 123.rar'
subprocess.call(command)

這樣也可以完成解壓,既然這樣,那就開干吧,寫一個暴力循環,我以4位字母為例,字母加的不全,實際使用可以視情況添加
list1=['a','b','c','d']
list2=['a','b','c','d']
list3=['a','b','c','d']
list4=['a','b','c','d']

for i1 in range(0,len(list1),1):
for i2 in range(0,len(list2),1):
for i3 in range(0, len(list3), 1):
for i4 in range(0, len(list4), 1):
password=list1[i1]+list2[i2]+list3[i3]+list4[i4]
print(password)
command = 'unrar.exe e -n -p' + password + ' 123.rar'
child = subprocess.call(command)
if child == 0:
print('解壓密碼是:',password)
break

child是返回值,為0表示解壓成功,可以挑出循環並列印密碼了,我實測,4位純數字或者字母,只需要十多秒就出來了,非常簡單

㈢ python怎樣壓縮和解壓縮ZIP文件

1、python使用zipfile模塊壓縮和解壓ZIP文件
2、讀取zip文件
首先,通過zipfile模塊打開指定zip文件,如:
zpfd = zipfile.ZipFile(path, mode='r')
對於zipfile,其標志與open所用的打開文件標志有所不同,不能識別 'rb'。
然後,讀取zip文件中的內容,zipfile對象提供一個read(name)的方法,name為zip文件中的一個文件入口,執行完成之後,將返回讀出的內容,如:
for filename in zpfd.namelist():
tmpcont = zpfd.read(filename)
print 'len(tmpcont)', 'tmpcont'
需要注意的是,讀取zip文件時,只能讀取內容
3、寫入zip文件
首先,需要zipfile模塊寫打開或創建zip文件,如:
zpfd = zipfile.ZipFile(path, mode='w')
寫打開是標志可以為'w'或'a'('a'表示寫入一個zip文件), 或者傳入第三個參數cmopression壓縮標志
compression=zipfile.ZIP_DEFLATED 需要導入zlib模塊
compression=zipfile.ZIP_STORED則表示只對文件進行打包,並不壓縮
寫入有兩種方式,一種是直接寫入一個已經存在的文件,可使用zipfile對象中write(filename, arcname, compress_type)第一個參數為文件名,第二個參數指寫入zip文件中的文件名,默認與filename一致,第三個參數壓縮標志可以覆蓋打開zipfile時的使用參數;另一種是寫入一個字元串,可使用zipfile對象中的writestr(zinfo_or_arcname, bytes),第一個參數是zipinfo對象或寫到zip文件中的壓縮名,第二個參數是待寫入的字元串
4、最後,對於打開的zipfile對象需要進行關閉,從而使得寫入內容真正寫入磁碟,即:
zpfd.close()

㈣ python自動化全程班解壓

import subprocess
import zipfile as zf
import platform as pf
import os

class ZipObj():
def __init__(self, filepathname, passwd,tip_path):
self.filepathname = filepathname #文件名
self.passwd = passwd #壓縮密碼
self.Tip_Path = tip_path #注釋

def enCrypt(self, deleteSource=False):
# """
# 壓縮加密,並刪除原數據
# window系統調用rar程序
#
# linux等其他系統調用內置命令 zip -P123 tar source
# 默認不刪除原文件
# """
target = "b.zip"
source = self.filepathname
if pf.system() == "Windows":

# rar a -p"www.hanxinkong.top" filename.zip D:/360MoveData/Users/Administrator/Desktop/test/*
# rar a -ep1 -p"www.hanxinkong.top" test.zip - z"D:\360MoveData\Users\Administrator\Desktop\Tip.txt" D:/360MoveData/Users/Administrator/Desktop/test/*
# ep1 排除上級(基本)目錄

cmd = ['rar','a', '-p"%s"' % (self.passwd), target, source]
cmd_tip = ['rar', 'c', 'z"%s"' % (self.Tip_Path), target]
print (cmd)
p = subprocess.Popen(cmd, executable=r'D:\COMMONDSAFE\winrar\WinRAR.exe')
p.wait()

㈤ 請問python的 zipfile 怎麼解壓中文密碼的zip文件

㈥ python壓縮文件設置解壓密碼_zipfile.setpassword(bytes('pass',"utf-8"))為什麼解壓不用密碼

setpassword()是在解壓壓縮包時的默認設置的解壓密碼

㈦ Python實現批量壓縮文件/文件夾——zipfile

zipfile是python里用來做zip格式編碼的壓縮和解壓縮的,由於是很常見的zip格式,所以這個模塊使用頻率也是比較高的,

在這里對zipfile的使用方法做一些記錄。即方便自己也方便別人。

Python zipfile模塊用來做zip格式編碼的壓縮和解壓縮的,要進行相關操作,首先需要實例化一個 ZipFile 對象。ZipFile 接受一個字元串格式壓縮包名稱作為它的必選參數,第二個參數為可選參數,表示打開模式,類似於文件操作,有r/w/a三種模式,分別代表讀、寫、添加,默認為r,即讀模式。

zipfile里有兩個非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數的情況下,我們只需要使用這兩個class就可以了。ZipFile是主要的類,用來創建和讀取zip文件而ZipInfo是存儲的zip文件的每個文件的信息的。

ZipFile還提供了如下常用的方法和屬性:

獲取zip文檔內指定文件的信息。返回一個zipfile.ZipInfo對象,它包括文件的詳細信息。

獲取zip文檔內所有文件的信息,返回一個zipfile.ZipInfo的列表。

獲取zip文檔內所有文件的名稱列表。

將zip文檔內的指定文件解壓到當前目錄。參數member指定要解壓的文件名稱或對應的ZipInfo對象;參數path指定了解析文件保存的文件夾;

解壓zip文檔中的所有文件到當前目錄。參數members的默認值為zip文檔內的所有文件名稱列表,也可以自己設置,選擇要解壓的文件名稱。

將zip文檔內的信息列印到控制台上。

設置zip文檔的密碼。

㈧ python 用zipfile對文件進行壓縮並加密(不讓人解壓縮並修改文件)如何實現

>>>importzipfile
>>>_zipfile=zipfile.ZipFile(r'C:/Python27/test.zip','w',zipfile.ZIP_DEFLATED)
>>>_zipfile.write(r'C:/Python27/test')
>>>_zipfile.setpassword('nimei')
>>>_zipfile.close()

㈨ Python打開zip文件

    Zip文件格式是通用的文檔壓縮標准。自1.6版本起,Python中zipfile模塊能夠直接處理zip文件里的數據,例如需要將對應目錄或多個文件打包或壓縮成zip格式,或者需要查看一個zip格式的歸檔文件中部分或者所有文件同時避免講這些文件展開到磁碟上。使用ZipFile類來操作zip文件。

創建一個ZipFile對象,表示一個zip文件。

     參數file:文件的路徑或者類似文件對象

     參數mode:讀"r",寫入"w",添加"a"

     參數compression: ZIP_STORED(無壓縮),ZIP_DEFLATED(壓縮,需要zlib支持)

     參數allowZip64:默認情況下報錯,將其設為True,ZipFile將用ZIP64擴展進行創建文件。

下面示例演示了讀取一個zip文檔,將文檔里所有文件解壓到名為"work"的文件里。

import zipfile

if __name__ == "__main__":

    zFile = zipfile.ZipFile("F:\\txt.zip","r")

    #ZipFile.namelist():獲取ZIP文檔內所有文件的名稱列表

    for fileM in zFile.namelist():

        zFile.extract(fileM,"F:\\work")

        zFile.close()

read(self,name,pwd=None)獲取ZIP文檔內文件的二進制數據

下面例子演示了使用read方法獲取ZIP文檔中mango.txt文件的數據,並寫到.txt文件中

import zipfile 

if __name__ == "__main__":

    zipFile = zipfile.ZipFile('F:\\test.zip','r')

    data = zipFile.read("mango.txt")

    (lambda f,d:(f.write(d),f.close()))(open("F:\\.txt,'w"),data)

    zipFile.close()

write(self, filename, arcname=None, compress_type=None)將指定文件寫入ZIP文檔中

     參數filename:需要寫入文件的路徑

     參數arcname:文件寫入ZIP文檔後保存的文件名

     參數compress_type:壓縮方法(ZIP_STORED或ZIP_DEFAULED)

下面離子演示了創建一個zip文檔,將test.docx文件寫入壓縮文檔裡面。

import zipfile

if __name__ == "__main__":

    zipFile = zipfile.ZipFile("F:\\test.zip","w")

    zipFile.write("F:\\test.docx","ok.docx",zipfile.ZIP_DEFLATED)

    zipFile.close()

getinfo(name)返回一個ZipInfo類的對象。

import zipfile

if __name__ == "__main__":

    zipInfo = zipFile.getinfo(ok.docx)

    print("filename:",zipInfo.filename)

    print("date_time:",zipInfo.date_time)

常用函數

關閉歸檔文件,你必須在退出程序之前調用close()否則將不會寫入關鍵記錄數據。

返回一個ZipInfo對象,其中包含有關歸檔成員name的信息。針對一個目前並不包含於歸檔中的名稱調用getinfo()將會引發KeyError。

   返回一個列表,其中包含每個歸檔成員的ZipInfo對象。如果是打開一個現有歸檔則這些對象的排列順序與他們對於條目在磁碟上的實際ZIP文件中的順序一致。

返回按名稱排列的歸檔成員列表。

以二進制文件類對象的形式訪一個歸檔成員。name可以是歸檔內某個文件的名稱也可以是某個ZipInfo對象。如果包含了mode形參,則它必須為"r"(默認值)或"w"。pwd為用於解密已加密Zip文件的密碼。

open()也是一個上下文 管理器,因此支持with語句:

with ZipFile('spam.zip') as myzip:

    with myzip.open('eggs.txt') as myfile:

    print(myfile.read())

如果mode為「r」則文件類對象(ZipExtFile)將只讀並且提供下列方法:read(),readline(),readlines(),seek(),tell(),__iter__(),__next__()。這些對象可獨立於ZipFile進行操作。

如果mode='w'則返回一個可寫入的文件句柄,它將支持write()方法。當一個可寫入的文件句柄被打開時,嘗試讀寫ZIP文件中的其他文件將會引發ValueError。

當寫入一個文件時,如果文件大小不能預先確定但是可能超過2GiB,可傳入force_zip64=True以確保標頭格式能夠支持超大文件。如果文件大小可以預先確定,則在構造ZipInfo對象時應設置file_size,並將其作name形參。

從歸檔中提取一個成員放入當前工作目錄;member必須為成員的完整名稱或ZipInfo對象。成員的文件信息會盡可能精確地被提取。path指定一個要提取到的不同目錄。member可以是一個文件名或ZipInfo對象。pwd是用於解密文件的密碼。返回所創建的經正規化的路徑(對應於目錄或新文件)。

從歸檔中提取出所有成員放入當前工作目錄。path指定一個要提取到的不同的目錄。members為可選項且必須為namelist()所返回列表的一個子集。pwd是用於解密文件的密碼。

警告:絕不要未經預先檢驗就從不可靠的源中提取歸檔文件。 這樣有可能在  path  之外創建文件,例如某些成員具有以 "/" 開始的文件名或帶有兩個點號 ".." 的文件名。 此模塊會嘗試防止這種情況。 參見  extract()  的注釋。

將歸檔是目錄表列印到sys.stdout.

設置pwd為用於提取已加密文件的默認密碼。

返回歸檔中文件name的位元組數據。name是歸檔中文件的名稱,或是一個ZipInfo對象。歸檔必須以讀取或追加方式打開。pwd為用於已加密文件的密碼,並且如果指定該參數則它將覆蓋通過setpassword()設置的默認密碼。 on a ZipFile that uses a compression method 在使用  ZIP_STORED  ,  ZIP_DEFLATED ,  ZIP_BZIP2  或  ZIP_LZMA  以外的壓縮方法的 ZipFile 上調用  read()  將引發  NotImplementedError 。 如果相應的壓縮模塊不可用也會引發錯誤。

讀取歸檔中的所有文件並檢查他們的CRC和文件頭。返回第一個已損壞文件的名稱,在其他情況下則返回None。

將名為filename的文件寫入歸檔,給予的歸檔名為arcname(默認情況下將與filename一致,但是不帶驅動器盤符並會移除開頭的路徑分隔符)。compress_type如果給出,它將覆蓋作為構造器compression形參對於新條目所給出的值。類似地,compresslevel如果給出也將覆蓋構造器。歸檔必須使用"w","x「或"a"模式打開。

將一個文件寫入歸檔。 內容為  data ,它可以是一個  str  或  bytes  的實例;如果是  str ,則會先使用 UTF-8 進行編碼。  zinfo_or_arcname  可以是它在歸檔中將被給予的名稱,或者是  ZipInfo  的實例。 如果它是一個實例,則至少必須給定文件名、日期和時間。 如果它是一個名稱,則日期和時間會被設為當前日期和時間。 歸檔必須以 'w', 'x' 或 'a' 模式打開。

ZIP文件的名稱

㈩ python怎樣壓縮和解壓縮ZIP文件

1、python使用zipfile模塊壓縮和解壓ZIP文件
2、讀取zip文件
首先,通過zipfile模塊打開指定zip文件,如:
zpfd = zipfile.ZipFile(path, mode='r')
對於zipfile,其標志與open所用的打開文件標志有所不同,不能識別 'rb'。
然後,讀取zip文件中的內容,zipfile對象提供一個read(name)的方法,name為zip文件中的一個文件入口,執行完成之後,將返回讀出的內容,如:
for filename in zpfd.namelist():
tmpcont = zpfd.read(filename)
print 'len(tmpcont)', 'tmpcont'
需要注意的是,讀取zip文件時,只能讀取內容
3、寫入zip文件
首先,需要zipfile模塊寫打開或創建zip文件,如:
zpfd = zipfile.ZipFile(path, mode='w')
寫打開是標志可以為'w'或'a'('a'表示寫入一個zip文件), 或者傳入第三個參數cmopression壓縮標志
compression=zipfile.ZIP_DEFLATED 需要導入zlib模塊
compression=zipfile.ZIP_STORED則表示只對文件進行打包,並不壓縮

入有兩種方式,一種是直接寫入一個已經存在的文件,可使用zipfile對象中write(filename, arcname,
compress_type)第一個參數為文件名,第二個參數指寫入zip文件中的文件名,默認與filename一致,第三個參數壓縮標志可以覆蓋打開
zipfile時的使用參數;另一種是寫入一個字元串,可使用zipfile對象中的writestr(zinfo_or_arcname,
bytes),第一個參數是zipinfo對象或寫到zip文件中的壓縮名,第二個參數是待寫入的字元串
4、最後,對於打開的zipfile對象需要進行關閉,從而使得寫入內容真正寫入磁碟,即:
zpfd.close()

閱讀全文

與python壓縮文件帶密碼相關的資料

熱點內容
五菱宏光空調壓縮機 瀏覽:64
為什麼app佔用幾百兆 瀏覽:676
自動解壓失敗叫我聯系客服 瀏覽:482
易語言新手源碼 瀏覽:456
oa伺服器必須有固定ip地址 瀏覽:42
傳奇源碼分析是什麼 瀏覽:267
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:801
壓縮泡沫鞋底底材 瀏覽:221
程序員職場第一課2正確的溝通 瀏覽:681
遇到不合法app應該怎麼辦 瀏覽:92
匯編程序編譯後的文件 瀏覽:81
大智慧均線源碼 瀏覽:374