|
6 / 5 / 2
Регистрация: 27.07.2013
Сообщений: 22
|
||||||
Добавление файлов в архив. Создание копий директорий04.10.2014, 19:47. Показов 13615. Ответов 11
Метки нет (Все метки)
Начал изучать python.Читал книгу Укус Питона . Автор показал пример создания копии директории.И предложил создать zip архив с помощью модуля zipfile. В интернете ничего похожего не нашел.Поэтому выкладываю свой скрипт.
Может кому пригодится.
3
|
||||||
| 04.10.2014, 19:47 | |
|
Ответы с готовыми решениями:
11
Создание и добавление файлов в архив Добавление файлов непосредственно в архив zip, минуя их промежуточное создание
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 04.10.2014, 19:56 | |
|
aned, прочитал ваше сообщение, улыбнуло....
В сети куча информации как пользоваться модулем zipfile, есть информация на русскоязычных ресурсах и есть очень подробные примеры на оф. сайте. Так, что искали вы очень плохо.
0
|
|
|
6 / 5 / 2
Регистрация: 27.07.2013
Сообщений: 22
|
|
| 04.10.2014, 20:04 [ТС] | |
|
искал нормально.
0
|
|
|
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 3
|
|
| 05.02.2017, 07:09 | |
|
Автор прав. Воды в нете полно. По делу - информации ноль. Нечему улыбаться.
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 05.02.2017, 11:46 | |
|
Тут забавно, что во 1 вы не умеете искать, а во 2 написав простенький шаблонный скрипт выкладываете его как священный гроаль и думаете, что это круто (а на деле такого добра навалом в сети).
0
|
|
|
5233 / 3478 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
|
|
| 05.02.2017, 18:01 | |
|
alex925, в самую точку! тем более что это чистая копия взятая отсюда стр 91-92
0
|
|
|
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 3
|
|
| 06.02.2017, 02:48 | |
Вы смешные. В сети полно документации, но учатся ребята программировать на живом коде. Так вот, я нашел только этот пример в индексе гугла. Больше нигде ничего нет. Если вы писанину по классам и маны называете "граалем", то это просто смешно.
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 06.02.2017, 05:24 | |
|
lavr2004, https://www.google.ru/search?q... e&ie=UTF-8
1 запрос в гугл и куча примера кода, я не знаю, что вы там с автором темы не можете найти.
0
|
|
|
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 3
|
|
| 06.02.2017, 05:54 | |
|
Ок. Но я вот, например, вынужден использовать для записи байтовый объект и вместо функции .write(), приходится обходиться .writestr(). И знаете в чем проблема? Нигде нет примера того, как задать способ сжатия при такой записи. Абсолютно нигде, даже на офф-сайте Python (в документации по библиотеке zipfile).
Т.е. в манах написано: задается так и так - без примера кода. Я задаю. Результат - исключение. Когда же этот аргумент функции не передаю - сжатие составляет 0 % (по умолчанию). И хоть убейте - не знаю что делать именно в этой библиотеке. Облазил весь интернет, но напоролся только на эту тему. Да, на англоязычных ресурсах точно такие же темы есть и их много, конечно, но они не всесторонние и касаются лишь самой малой части функционала библиотеки. Не знаю, короче. Я написал в эту тему, потому что считаю решение автора написать о своем вопросе более адекватным, чем может показаться на первый взгляд, так как источников информации много, но она по сути не является иной информацией, а лишь очередной интерпретацией тех же вопросов: как создать тот или иной объект; как задать рекурсию тут и там и т.п. Короче, разнообразия и всесторонности в этой "в сети куча информации" просто нет. Одно и то же повсюду. Извиняюсь за этот флейм.
0
|
|
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 2
|
|
| 27.03.2019, 20:51 | |
|
Я сейчас тоже изучаю по этой книге, и у меня код по книге не работает, решил сделать подключив библиотеку zipfile.
Программа создает пустой архив, а потом выдает ошибку в этой строке: for root, dirs, files in os.walk(source): TypeError: expected str, bytes or os.PathLike object, not list Может у меня еще что-то не установлено. Подскажите пожалуйста что может быть не так? Добавлено через 1 минуту Не соглашусь с тем что это чистая копия, код из книги у меня не работает, решил сделать его при помощи другой библиотеки, наткнулся на код автора, и почему-то он у меня тоже не работает( Если не сложно подскажите что не так, в интернете куда не захожу пишет что работает именно так(
0
|
|
|
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
|
|
| 27.03.2019, 21:01 | |
|
Написано что список передается а не строка
что в переменной source?
1
|
|
|
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 2
|
|
| 28.03.2019, 11:38 | |
|
Спасибо, действительно там оказался список из одной строки. Ошибку не выбивает, архив так же создается как и раньше, но файлы внутрь не добавляет(
На что теперь обратить внимание? Добавлено через 13 минут Повставлял принты, оказалось что программа внутрь цикла "for root, dirs, files in os.walk(source):" совсем не входит source = 'C:\\Users\rmn\Pyton'
0
|
|
| 28.03.2019, 11:38 | |
|
Помогаю со студенческими работами здесь
12
Создание директорий и файлов Создание файлов и директорий
Добавление файлов в архив Создание копий файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|