Рубрики
Без рубрики

Менеджер архива в Python с простым графическим интерфейсом

Сколько из нас используют инструменты Exchanger Archiver для извлечения zip-файлов. Кроме того, некоторые инструменты не … помечены Python, программированием, производительностью, начинающими.

Сколько из нас используют инструменты экстрактора архиватора для извлечения Zip файлы. Кроме того, некоторые инструменты не являются удобными для пользователя, поэтому у нас трудно использовать их, как мы хотим. Однако с помощью файлов извлечения Python всегда было проще. Давайте посмотрим на несколько распространенных примеров.

Для задачи мы будем использовать встроенный модуль Python zipfile Отказ

Из различных функций, которые дает этот модуль, мы посмотрим, как к:-

  • Извлечь все файлы в ZIP-файле.
  • Извлечь один файл.
  • Извлечь определенные файлы, используя определенные условия.
  • Извлечение файлов защищенных паролем.

Давайте поговорим о них немного более подробно. Мы собираемся использовать общий фрагмент для всех них и изменить только необходимые строки.

from zipfile import ZipFile

path_of_zip_file = input("Enter path of the zip file > ")
path_to_extract_to = input("Enter the path you want to extract to > ")

with ZipFile(path_of_zip_file , 'r') as files:
    # here is where the codes are gonna go

1. Извлечь все файлы в ZIP-файле.

Для этого мы просто будем использовать Extractall () метод.

files.extractall(directory_to_extract_to)

2. Извлечь один файл.

Чтобы извлечь один файл, который мы собираемся использовать Читать () метод Zipfile. объекты. Читать () Метод возвращает байты имени файла в архиве, поэтому мы возьмем это и создаем файл с ним.

Zipfile.read (имя,) Метод принимает два параметра Имя и Пароль . Если вы работаете с зашифрованным файлом, не забудьте добавить свой пароль.

Теперь мы собираемся создать переменную для нашего имени файла под путями, которые мы объявили на общей фрагменте кода, но вы можете легко пройти имя файла.

Мы собираемся импортировать ОС Модуль, чтобы написать наш файл на пути, который мы выбрали.

file_name = os.path.join (directory_to_extract_to, file_to_extract) Теперь мы можем создать наш файл.

with open(file_name, 'wb') as file:
    file.write(files.read(file_name))

3. Извлечь определенные файлы, используя определенные условия.

Иногда мы можем не захотеть извлечь все в Zip-файле. Например, мы можем захотеть извлечь .py Только файлы. Мы можем так это очень легко использовать условия. Наше состояние не должно быть расширением файла, но легко продемонстрировать, мы будем использовать это здесь.

for file in files.namelist():
    if file.endswith(".py"):
        files.extract(file)

4. Извлечение файлов защищенных паролем.

Это довольно просто, как мы упоминали ранее. Просто создайте переменную для своего пароля и пропустите ее или вы можете просто передать его, как оно тоже.

files.extractall(directory_to_extract_to, pwd=b'password')

❗ ЗАМЕТКА:

Дешифрование чрезвычайно медленно, так как он реализуется на родном Python, а не C.

Я хотел показать, как мы можем дать нашему консоли приложение для пользователя, удобное для пользователя, используя Глистый модуль Но я не хотел, чтобы пост был дольше, чем оно. Тем не менее, вы можете проверить реализацию в моем Github Отказ Это очень базовая реализация, поэтому прочитайте документацию клейки, и вы можете добавить его много функций.

Не забудьте покинуть звезду, если вам нравится …

Если вам нравится то, что вы читаете, следуйте за более.

Twitter |. LinkedIn |. Гадость

Оригинал: “https://dev.to/nabroleonx/extracting-zip-files-with-python-1jdc”