2015-09-26 3 views
5

lesen, wie wir lesen können und den Inhalt von 7z speichern. Ich benutze Python 2.7.9, ich kann so extrahieren oder Archive, aber ich kann nicht Inhalt in Python lesen, ich habe nur den Inhalt in CMD-Datei ListingWie Inhalte von 7z-Datei mit Python

import subprocess 
import os 

source = 'filename.7z' 
directory = 'C:\Directory' 
pw = '123456' 
subprocess.call(r'"C:\Program Files (x86)\7-Zip\7z.exe" x '+source +' -o'+directory+' -p'+pw) 
+0

möglich Duplikat [Python - wie mit 7zip statt zip, Code ändern komprimieren] (http://stackoverflow.com/questions/11466572/python-how-to-compress-with-7zip-instead-of- zip-Code-Wechsel) –

Antwort

2

Beschuss aus und 7z Aufruf werden die Dateien extrahieren und dann Sie können auf diese Dateien mit Standard-Dateizugriffsaufrufen zugreifen (ich weiß Python nicht - aber es muss auf Dateien zugreifen können!).

Wenn Sie sich in einem 7z-Archiv suchen wollen direkt in Python, dann müssen Sie eine Bibliothek verwenden. Hier ist eine: https://pypi.python.org/pypi/libarchive - Ich kann nicht dafür bürgen, wie ich sagte - ich bin kein Python-Benutzer - aber die Verwendung einer 3rd-Party-Bibliothek ist in der Regel ziemlich einfach in allen Sprachen.

Im Allgemeinen scheint 7z Unterstützung beschränkt. Wenn Sie alternative Formate (zip/gzip) verwenden können, dann werden Sie feststellen, dass der Umfang der Python-Bibliotheken (und der Beispielcode) umfangreicher ist.

Hoffe, dass hilft.

+0

danke, werde ich libarchive –

7

können Sie entweder libarchive oder pylzma verwenden. Wenn Sie auf python3.3 + upgraden können, können Sie lzma verwenden, das sich in der Standardbibliothek befindet.

+2

versuchen Sie es mit alway python ich benutze 2.7.9, ich weiß nicht, 3.3+ hat Standard-Bibliothek für 7z, Sie so danken so viel –

+15

Beachten Sie, dass lzma funktioniert nicht mit 7z * archiven *, nur einzelne Dateien. – bfontaine

+0

Also lzma ist nicht die richtige Bibliothek und ich verschwendete einfach Zeit, um es zum Laufen zu bringen. Downvote. – shinzou

Verwandte Themen