Опитвам се да извадя затворен цип с помощта на модула ZipFile, но:
"Методите open (), read () и extract () могат да вземат име на файл или ZipInfo обект."
def ExtractZip(zipFile, path):
zipfile.ZipFile.open(zipFile, "r")
zipFile.extractall(path)
Това е моят код, той връща грешка. (Имам zipfile, затворих се, преди да изпълня тази функция .close()
и аз не мога да го изтриете) Как мога да го направя? Благодаря
Отговори:
1 за отговор № 1Да предположим, че вашият файл е Archive.zip
:
След това направете следното:
import zipfile
f = zipfile.ZipFile("Archive.zip")
f.extractall()
Това е. Можете също да предоставите опция path
аргумент към extractall
ако искате да поставите съдържанието някъде другаде.
Повече информация можете да намерите в документите на Python тук.
0 за отговор № 2
Ето как ще използвам zipfile за достъп до архивите.
Ако има zip папка, която съдържа тези файлове:
import zipfile
zippedArchive = zipfile.ZipFile("Scripts.zip")
print zippedArchive.open("Scripts/PlayPauseYouTube.scpt").read()
ще отпечата съдържанието на PlayPauseYouTube.scpt
файл.
Ако искаш екстракт всички файлове в пощенския архив, както и в друго местоположение, можете да използвате zipfile.extractall
ZipFile.extractall([path[, members[, pwd]]])
Извличайте всички членове от архива в текущата работна директория.
path
посочва друга директория, към която да се извлече.members
е по избор и трябва да бъде подмножество от списъка, върнат отzipfile.namelist()
.pwd
е паролата, използвана за шифровани файлове.
import zipfile
zippedArchive = zipfile.ZipFile("Scripts.zip")
zippedArchive.extractall()