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

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

21.09.2018, 16:13. Показов 1755. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru