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

Сортировщик

18.07.2022, 18:09. Показов 829. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать скрипт, который разберет папку. В конечном итоге вы сможете настроить эту программу под себя и она будет выполнять индивидуальный сценарий, соответствующий вашим нуждам. Для этого наше приложение будет проверять расширение файла (последние символы в имени файла, как правило, после точки) и, в зависимости от расширения, принимать решение, к какой категории отнести этот файл.

Скрипт принимает один аргумент при запуске — это имя папки, в которой он будет проводить сортировку. Допустим файл с программой называется sort.py, тогда, чтобы отсортировать папку /user/Desktop/Хлам, надо запустить скрипт командой python sort.py /user/Desktop/Хлам
  • Для того чтобы успешно справится с этим заданием, вы должны вынести логику обработки папки в отдельную функцию.
  • Чтобы скрипт мог пройти на любую глубину вложенности, функция обработки папок должна рекурсивно вызывать сама себя, когда ей встречаются вложенные папки.

Скрипт должен проходить по указанной во время вызова папке и сортировать все файлы по группам:
  • изображения ('JPEG', 'PNG', 'JPG', 'SVG');
  • видео файлы ('AVI', 'MP4', 'MOV', 'MKV');
  • документы ('DOC', 'DOCX', 'TXT', 'PDF', 'XLSX', 'PPTX');
  • музыка ('MP3', 'OGG', 'WAV', 'AMR');
  • архивы ('ZIP', 'GZ', 'TAR');
  • неизвестные расширения.

Вы можете расширить и дополнить этот список, если хотите.

В результатах работы должны быть:
  • Список файлов в каждой категории (музыка, видео, фото и пр.)
  • Перечень всех известных скрипту расширений, которые встречаются в целевой папке.
  • Перечень всех расширений, которые скрипту неизвестны.

После необходимо добавить функции, которые будут отвечать за обработку каждого типа файлов.

Кроме того, все файлы и папки нужно переименовать, удалив из названия все потенциально приводящие к проблемам символы. Для этого надо применить к именам файлов функцию normalize. Следует помнить, что переименовать файлы нужно так, чтобы не изменить расширения файлов.

Функция normalize:
  1. Проводит транслитерацию кириллического алфавита на латинский.
  2. Заменяет все символы кроме латинских букв, цифр на '_'.

Требования к функции normalize:
  • принимает на вход строку и возвращает строку;
  • проводит транслитерацию кириллических символов на латиницу;
  • заменяет все символы, кроме букв латинского алфавита и цифр, на символ '_';
  • транслитерация может не соответствовать стандарту, но быть читабельной;
  • большие буквы остаются большими, а меленькие — маленькими после транслитерации.

Условия для обработки:
  • изображения переносим в папку images
  • документы переносим в папку documents
  • аудио файлы переносим в audio
  • видео файлы в video
  • архивы распаковываются и их содержимое переносится в папку archives

Критерии приёма задания
  • все файлы и папки переименовываются при помощи функции normalize.
  • расширения файлов не изменяются после переименования.
  • пустые папки удаляются
  • скрипт игнорирует папки archives, video, audio, documents, images;
  • распакованное содержимое архива переносится в папку archives в подпапку, названную точно так же, как и архив, но без расширения в конце;
  • файлы, расширения которых неизвестны, остаются без изменений.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2022, 18:09
Ответы с готовыми решениями:

Сортировщик
Нужна помощь! Я только начал изучать os Написал программу сортировщик Мне оставили комментарии Путь к папке должен...

Сортировщик данных по типам
Напишите функцию-сортировщик данных по типам. В качестве аргумента функция typification() получает список данных, а возвращает словарь, в...

Напишите функцию-сортировщик данных по типам
Напишите функцию-сортировщик данных по типам. В качестве аргумента функция typification() получает список данных, а возвращает словарь, в...

8
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
18.07.2022, 19:52
фигасе. и кому это нужно?
0
0 / 0 / 0
Регистрация: 10.07.2022
Сообщений: 8
18.07.2022, 22:09  [ТС]
Semen-Semenich, мне)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.07.2022, 23:02
Цитата Сообщение от Judaha Посмотреть сообщение
мне)
Помочь решить, разобраться или нужно готовое решение на сдачу курсача?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
19.07.2022, 01:58
Цитата Сообщение от Judaha Посмотреть сообщение
архивы ('ZIP', 'GZ', 'TAR')
а archive_name.tar.gz считать двумя архивами сразу?
1
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
19.07.2022, 07:28
Цитата Сообщение от Judaha Посмотреть сообщение
все файлы и папки нужно переименовать, удалив из названия все потенциально приводящие к проблемам символы
к файлам в архиве это тоже относится?
Цитата Сообщение от Judaha Посмотреть сообщение
Проводит транслитерацию кириллического алфавита на латинский
на что менять Ё Ь Ъ Й ?
0
0 / 0 / 0
Регистрация: 10.07.2022
Сообщений: 8
19.07.2022, 09:13  [ТС]
iSmokeJC, это обычная домашка)
Готовое решение

Добавлено через 5 минут
Semen-Semenich,
К файлам в архиве это не относится

Ё - E, Ь - отсутствует в англ вместо него либо ничего не пишется, Ъ - такая же ситуация как с Ь, Й - Y
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
19.07.2022, 09:14
Semen-Semenich,
Миниатюры
Сортировщик  
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
19.07.2022, 09:29
Judaha, вот вам начало решения Red white socks, скинул скриншот, начинайте писать словарь по которому будет работать функция normalize
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2022, 09:29
Помогаю со студенческими работами здесь

Вложенный сортировщик
Теперь Людмила просит вас создать функцию sorted2(data, key), способную сортировать вложенные списки, содержащие целые числа. ...

Сортировщик не сортирует
Имеется программа, которая принимает из блокнота "d.txt" 2 строки. Первая строка - кол-во элементов в массиве, вторая - элементы собсна....

Пузырьковый сортировщик массива
Я написал такой скрипт a = print("Введите количество цифр") n = input() i=0 while i < n: print("Введите элемент...

Многопоточный сортировщик (метод слияния)
Ребят помогите переделать данный код в многопотоковый. Запускаю в терминале Ubuntu, все четко выводит, теперь надо многопотоковым. Или...

Сортировщик
Всем привет ;) Писал прогу на C++ в деве (причем не особо удачно), недавно узнал, что нужно оказывается сделать эту программу с графическим...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю 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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru