Добавление файла в существующий zip-файл

Я использую zipfile модуль python.
Наличие zip-файла, расположенного по пути:
/home/user/a/b/c/test.zip
И имея другой файл, созданный в /home/user/a/b/c/1.txt я хочу добавить этот файл в существующий zip, я сделал:
zip = zipfile.ZipFile('/home/user/a/b/c/test.zip','a') zip.write('/home/user/a/b/c/1.txt') zip.close()

И все вложенные папки появляются в пути при распаковке файла, как я могу просто ввести zip-файл без подкаталогов пути?

Я также попробовал: zip.write(os.path.basename('/home/user/a/b/c/1.txt')) И получил ошибку, что файл не существует, хотя он и делает.

Примечание . Я не использую жестко заданные значения в своих путях в этом примере, чтобы упростить его.

One Solution collect form web for “Добавление файла в существующий zip-файл”

Вы очень близки:

 zip.write(path_to_file, os.path.basename(path_to_file)) 

должен сделать трюк для вас.

Объяснение: Функция zip.write принимает второй аргумент (имя дуги), который является именем файла, который будет храниться в zip-архиве, более подробную информацию см. В документации по zipfile .

os.path.basename() удаляет каталоги в пути для вас, так что файл будет храниться в архиве только под его именем.

Обратите внимание: если вы только zip.write(os.path.basename(path_to_file)) он будет искать файл в текущем каталоге, где он (как говорит ошибка) не существует.

  • Как установить разрешения (атрибуты) в файле в ZIP-файле с помощью zipfile-модуля Python?
  • Невозможно разархивировать большой zip-файл (3,3 ГБ) в iOS9 с помощью SSZipArchive
  • Создайте zip-файл непосредственно из массива numpy без файла-посредника
  • Безопасное извлечение zip или tar с помощью Python
  • Отправка файлов в Django и их обслуживание
  • Python - извлечение файлов из большого (6GB +) zip-файла
  • Python с расширением ZIP64 при сжатии больших файлов
  • Смутно о создании CSV-файла в ZIP-файл в django
  • Python: Получение файлов в архив без каталога?
  • Python распакует AES-128 зашифрованный файл
  • Извлечение файлов из zip без сохранения структуры с использованием python ZipFile?
  •  
    Interesting Posts for Van-Lav

    TypeError: attack () отсутствует 1 обязательный позиционный аргумент: 'self'

    Матрица рассеянного графика с более низкой плавностью

    Django – наличие промежуточного программного обеспечения для связи с представлениями / шаблонами

    Неизвестный формат кода 'f' для объекта типа 'unicode'

    Как установить nltk_contrib в Anaconda

    UnicodeEncodeError: кодек ascii не может кодировать символы в позиции 0-5: порядковый номер не в диапазоне (128)

    Поиск анонимных перечислений с помощью libclang

    Как запускать несколько браузеров Selenium Firefox одновременно?

    маршал сбрасывается быстрее, cPickle быстрее загружается

    Регулярное выражение | REGEX для кодов ICD9

    Django с использованием get_user_model vs settings.AUTH_USER_MODEL

    При использовании Python2.7 в App Engine, можно ли ссылаться на глобальные глобальные запросы?

    Как я могу изменить версию python по умолчанию, используемую EMACS 23?

    Функция вызова на основе argparse

    Как сохранить результаты цикла "for" в одной переменной?

    Python - лучший язык программирования в мире.