Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 24

Не работает модуль zipfile из функции

21.09.2018, 16:13. Показов 1800. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Буду очень благодарен, если мне кто-нибудь объяснит, почему у меня не работает модуль zipfile из функции.
В не функции все срабатывает нормально.
1. Вне функции.

Python
1
2
3
4
5
6
7
8
9
10
11
import os
import zipfile
 
z = zipfile.ZipFile('D:\\Python\\Test_Zip\\Backup\\archive.zip', 'w')
 
for folder, subfolders, files in os.walk('D:\\Python\\Test_Zip\\Target'):
 
    for file in files:
        z.write(os.path.join(folder, file), os.path.relpath(os.path.join(folder,file), 'D:\\Python\\Test_Zip\\Target'), compress_type = zipfile.ZIP_DEFLATED)
 
z.close()
2. Из функции.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import os
import zipfile
 
def create_z():
    z = zipfile.ZipFile('D:\\Python\\Test_Zip\\Backup\\archive.zip', 'w')
    for folder, subfolders, files in os.walk('D:\\Python\\Test_Zip\\Target'):
 
    for file in files:
        z.write(os.path.join(folder, file), os.path.relpath(os.path.join(folder,file), 'D:\\Python\\Test_Zip\\Target'), compress_type = zipfile.ZIP_DEFLATED)
 
    z.close()
 
create_z()
Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.09.2018, 16:13
Ответы с готовыми решениями:

Добавление файлов через модуль zipfile
Здравствуйте, в общем и целом, я изучаю пайтон по книге "Byte of Python" и там есть задание, суть которого состоит в написании когда,...

Добавление файлов через модуль zipfile
Здравствуйте, в общем и целом, я изучаю пайтон по книге "Byte of Python" и там есть задание, суть которого состоит в написании когда,...

Модуль zipfile создать зашифрованный архив
Добрый день! Создаю архив z = zipfile.ZipFile('new.zip', 'w') Добавляю в архив файл z.write('text.txt')

11
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
21.09.2018, 16:47
Цитата Сообщение от Sador01 Посмотреть сообщение
не работает модуль zipfile из функции
Во втором коде второй for на одном уровне с первым for
0
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 24
21.09.2018, 16:54  [ТС]
Нет, не в этом дело. У меня в программе с отступом (на форуме опечатка у меня вышла).
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
21.09.2018, 16:57
Тогда рассказывайте какие ошибки появляются
0
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 24
21.09.2018, 16:59  [ТС]
TabError: inconsistent use of tabs and spaces in indentation
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
21.09.2018, 17:00
Ясно, у вас смешаны табы и пробелы, поэтому в первом посте код развалился, сделайте все отступы табами или пробелами
0
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 24
21.09.2018, 17:03  [ТС]
Я заметил только что такую штуку – надо аж два таба ставить перед «for file in files:….»
А в не функции одного таба хватает!!!! Бред…
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
21.09.2018, 17:12
Цитата Сообщение от Sador01 Посмотреть сообщение
Бред…
Если вы не настроили своей редактор\IDE на трансляцию табуляции(нажимать TAB удобнее, чем пробел несколько раз) в 4 пробела - у вас будет именно бред. Постоянно.
0
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 24
21.09.2018, 17:25  [ТС]
У меня настроен редактор sublime text 3 именно на таб в четыре пробела. Что мне следует сделать, чтобы такого не происходило?
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
21.09.2018, 17:45
Внизу полоска, справа написано Tab Size: туда тыкаете появляется меню, в нем выбираете Convert Indentations to Spases
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
21.09.2018, 18:14
Цитата Сообщение от Sador01 Посмотреть сообщение
Что мне следует сделать, чтобы такого не происходило?
Выше написали, просто поясню - табы не должны (почему - это вопрос удобства) ставиться, а должны транслироваться в пробелы. То есть жмем TAB, но получаем пробелы, а не табуляцию.
Для этого нужно не только размер таба настраивать, но и включить трансляцию в пробелы.
Надеюсь, поняли.
1
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 24
24.09.2018, 14:13  [ТС]
Спасобо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.09.2018, 14:13
Помогаю со студенческими работами здесь

Не работает модуль json (функции json.dump(), json.load()
При запуске кода по сохранению и прочтению данных, сгенерированных пользователем: import json def get_stored_username(): ...

ZipFile
1) Есть папка в ней лежат архивы(arh_Ivanov.zip, arh_Sidorov.zip, arh_Petrov.zip) . 2) В архивах лежат фаилы(1.txt, 2.txt, 3.txt) . ...

Zipfile
Необходимо записывать данные в zip file по отдельности, но в один файл находящийся в самом zip что бы это работало примерно так zf =...

zipfile
Есть задачка записать csv файлы. Их получается около 4-х. Затем записать их в zip-архив. Код сохранения в zip-архив. def...

Архивирование zipfile
Добрый день! Начал изучать Pyhon читаю книгу Укус Питона. Сталкнулся с задачей создать резервные копии каталогов с помощью zip но получаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru