English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Этот пример рассказывает о методах打包 папок с помощью Python. Поделюсь с вами для вашего использования, подробности см. ниже:
один. zip
import os, zipfile #打包目录为zip文件(未压缩) def make_zip(source_dir, output_filename): zipf = zipfile.ZipFile(output_filename, 'w') pre_len = len(os.path.dirname(source_dir)) for parent, dirnames, filenames in os.walk(source_dir): for filename in filenames: pathfile = os.path.join(parent, filename) arcname = pathfile[pre_len:].strip(os.path.sep) #относительный путь zipf.write(pathfile, arcname) zipf.close()
два. tar/tar.gz
import os, tarfile #一次性打包整个根目录。空子目录会被打包。 #Если打包时不压缩,измените параметр "w:gz" на "w:" или "w". def make_targz(output_filename, source_dir): with tarfile.open(output_filename, "w:gz") as tar: tar.add(source_dir, arcname=os.path.basename(source_dir)) #Добавляйте файлы по одному для打包, не打包 пустые подкаталоги. Возможна фильтрация файлов. #Если打包时不压缩,измените параметр "w:gz" на "w:" или "w". def make_targz_one_by_one(output_filename, source_dir): tar = tarfile.open(output_filename,"w:gz") for root,dir,files in os.walk(source_dir): for file in files: pathfile = os.path.join(root, file) tar.add(pathfile) tar.close()
Для тех, кто интересуется дополнительной информацией о Python, мы предлагаем посмотреть темы на нашем сайте: «Сборник навыков работы с файлами и каталогами в Python», «Сборник навыков работы с текстовыми файлами в Python», «Сборник навыков работы с URL в Python», «Сборник навыков работы с изображениями в Python», «Уроки данных и алгоритмов в Python», «Сборник навыков работы с Socket в Python», «Сборник навыков использования функций в Python», «Сборник навыков работы со строками в Python» и «Классические уроки ввода и продвинутого обучения Python»
Надеюсь, что изложенное в этой статье поможет вам в разработке программ на Python.
Декларация: содержимое статьи взято из Интернета, авторские права принадлежат правообладателям, материал был предоставлен пользователями Интернета в качестве добровольного вклада и загружен самостоятельно, сайт не имеет права собственности на него, не производил ручную редактуру и не несет ответственности за соответствующие юридические последствия. Если вы обнаружите материалы,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (при отправке письма замените # на @),并提供相关证据. При подтверждении факта нарушения авторских прав сайт немедленно удаляет материалы,涉嫌侵权.