Python

Используйте python, чтобы заархивировать файл и каталог

Используйте python, чтобы заархивировать файл и каталог
Сжатый файл содержит множество файлов, каталогов и подкаталогов. Доступно множество приложений для создания сжатого файла любого большого файла или каталога и извлечения файлов или папок путем извлечения сжатого файла. Когда мы хотим передать через Интернет какой-либо большой файл или папку, лучше сжать содержимое перед передачей. Это ускоряет задачу. Вы можете использовать скрипты Python для сжатия и извлечения любого большого файла или каталога. zip-файл модуль Python используется для выполнения задачи. Как вы можете использовать python3 для сжатия любого файла или каталога, показано в этом руководстве на различных примерах.

Пример-1: сжатие одного файла

Создайте новый файл с именем 'почтовый индекс1.py ' и добавьте следующий код. zip-файл модуль импортируется для сжатия файла. темп.застегивать назначается как имя zip-файла с режимом записи, а затем - исходное имя файла, темп.текст и тип сжатия задаются как параметры в методе записи.

импортировать zip-файл
zip_file = zipfile.ZipFile ('temp.zip ',' w ')
zip_file.написать ('темп.txt ', compress_type = zipfile.ZIP_DEFLATED)
zip_file.Закрыть()

Запускаем скрипт

$ python3 zipcode1.ру

Размер темп.текст является 27 байт а после сжатия размер темп.застегивать является 2 байта.

Пример-2: сжатие определенного каталога

Создайте новый файл с именем 'почтовый индекс2.py ' и добавьте следующий код. Каталог может содержать множество файлов, папок и подпапок. Чтобы прочитать содержание справочника, Операционные системы модуль Python импортируется с zip-файл модуль для сжатия каталога. В этом сценарии, mydir каталог используется для сжатия.

# импортировать необходимые модули
 
импорт ОС
импортировать zip-файл
 
 
# Объявить функцию для возврата всех путей к файлам определенного каталога
def retrieve_file_paths (dirName):
 
# установка переменных путей к файлам
filePaths = []
 
# Прочитать все каталоги, подкаталоги и списки файлов
для корня, каталогов, файлов в ОС.прогулка (dirName):
для имени файла в файлах:
# Создайте полный путь к файлу с помощью модуля os.
filePath = os.дорожка.присоединиться (корень, имя файла)
filePaths.добавить (filePath)
 
# вернуть все пути
return filePaths
 
 
# Объявить основную функцию
def main ():
# Назначьте имя каталога для zip-архива
dir_name = 'mydir'
 
# Вызов функции для получения всех файлов и папок назначенного каталога
filePaths = retrieve_file_paths (имя_каталога)
 
# выводим список всех архивируемых файлов
print ('Будет заархивирован следующий список файлов:')
для fileName в filePaths:
печать (имя_файла)
 
# запись файлов в zip-файл
zip_file = zipfile.ZipFile (dir_name + '.zip ',' w ')
с zip_file:
# записываем каждый файл один за другим
для файла в filePaths:
zip_file.написать (файл)
 
print (dir_name + '.zip-файл успешно создан!')
 
# Вызвать основную функцию
если __name__ == "__main__":
основной()

Запускаем скрипт

$ python3 zipcode2.ру

Размер mydir является 21 байт а после сжатия размер mydir.застегивать является 2 байта.

Пример-3: сжатие каталога, заданного аргументом командной строки

Создайте новый файл с именем 'почтовый индекс3.py ' и добавьте следующий код. Чтобы прочитать значение командной строки, другой модуль python sys импортируется с Операционные системы а также zip-файл модули.

# импортировать необходимые модули
 
импорт ОС
import sys
импортировать zip-файл
 
# Объявить функцию для возврата всех путей к файлам определенного каталога
def retrieve_file_paths (dirName):
 
# установка переменных путей к файлам
filePaths = []
 
# Прочитать все каталоги, подкаталоги и списки файлов
для корня, каталогов, файлов в ОС.прогулка (dirName):
для имени файла в файлах:
# Создайте полный путь к файлу с помощью модуля os.
filePath = os.дорожка.присоединиться (корень, имя файла)
filePaths.добавить (filePath)
 
# вернуть все пути
return filePaths
 
 
# Объявить основную функцию
def main ():
 
# Проверяем, что во время запуска скрипта даны два аргумента
если len (sys.argv) != 2:
print ("Вы ввели имя каталога, который нужно заархивировать")
sys.выход (1)
 
# Установить имя каталога из аргумента команды
dir_name = sys.argv [1]
 
# Установить имя zip-файла
zipFileName = dir_name + ".застежка-молния "
 
# Вызов функции для получения всех файлов и папок назначенного каталога
filePaths = retrieve_file_paths (имя_каталога)
 
# распечатать список архивируемых файлов
print ('Будет заархивирован следующий список файлов:')
для fileName в filePaths:
печать (имя_файла)
 
# записываем файлы и папки в zip-файл
zip_file = zipfile.ZipFile (zipFileName, 'ш')
с zip_file:
# записываем каждый файл отдельно
для файла в filePaths:
zip_file.написать (файл)
 
print (файл zipFileName + 'успешно создан!')
 
# Вызвать основную функцию
если __name__ == "__main__":
основной()

Запускаем скрипт

$ python3 zipcode3.ру

контрольная работа дается как имя каталога в аргументе командной строки. Размер контрольная работа является 21 байт а после сжатия размер контрольная работа.застегивать является 2 байта.

Надеюсь, это руководство поможет вам использовать python для сжатия любого файла или каталога.

Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...