Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2021, 09:48   #1
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию Очистка каталога с песнями .mp3 от ненужного с помощью Python

Уважаемые спецы подскажите.
1. Есть каталог с песнями .mp3 - Эти песни я качаю с интернет радио.
Он постоянно меняется. Содержимое его видно на — Screenshot_1.jpg
2. Есть файл: delit.txt - В нём список групп, которые нужно удалить.
Этот файл будет постепенно изменятся.
Вот этот файл:
Guns N' Roses - Это будет всегда разное.mp3
The Doors - Это будет всегда разное.mp3
Led Zeppelin - Это будет всегда разное.mp3

#Вот этот каталог: D:\_+__Запись RadioSure\1.FM - Classic Rock Replay
#Нужно удалить из этого каталога все песни данных авторов.
#Названия песен всегда будут разные.
#Список будет большой.
Изображения
Тип файла: jpg Screenshot_1 (1).jpg (97.2 Кб, 0 просмотров)
satfan вне форума Ответить с цитированием
Старый 06.06.2021, 06:11   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
import os

groups = set()

with open("delit.txt") as f:
    for line in f:
        group = line.strip().split(" - ")[0]
        if group:
            groups.add(group)

with os.scandir("E:\\tmp") as it:
    for entry in it:
        if entry.name.endswith(".mp3") and entry.is_file() and entry.name.split(" - ")[0] in groups:
             os.remove(entry.path)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.06.2021, 10:46   #3
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию Очистка каталога с песнями .mp3 от ненужного с помощью Python

Уважаемый BDA
Огромное спасибо за помощь. Ваш форум лучший.
Скрипт работает.
------------------------
Немного поясните:
1. Скрипт ругается если в строке 11, я заменяю путь к моему каталогу с песнями.
Код:
with os.scandir("D:\_+__Запись RadioSure\1.FM - Classic Rock Replay") as it:
2. Файл delit.txt может быть такой:
Aerosmith - Back In The Saddle.mp3
AC⁄DC - Gone Shootin.mp3
AC-DC - Back In Black.mp3
Boston - Don't Look Back.mp3
---
Или будет достаточно только названий групп, без названия песен ?
Aerosmith
AC⁄DC
AC-DC
Boston

Последний раз редактировалось satfan; 06.06.2021 в 10:55.
satfan вне форума Ответить с цитированием
Старый 06.06.2021, 19:38   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

1. Или экранировать обратные слеши или использовать raw строку:
Код:
"D:\\_+__Запись RadioSure\\1.FM - Classic Rock Replay"
r"D:\_+__Запись RadioSure\1.FM - Classic Rock Replay"
2. Можно и только названия групп (тогда первый split ничего полезного просто делать не будет). Главное, чтобы в названии группы не было строки " - ", иначе останется только начало названия группы (но наличие или отсутствие названия песни на это не влияет).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.06.2021, 00:48   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Во вложении скрипт, который удаляет файлы, заданные в списке (текстовый файл).
Запускать в окне Командная строка.
Используются только ресурсы Windows: не требует установки Python.
Перед использованием изменить расширение txt на cmd.

PS: Возможно тут есть и плюхи, но проверил на том, что было.
Вложения
Тип файла: txt DelMusicsFiles.txt (974 байт, 3 просмотров)
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 07.06.2021, 01:51   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Перед использованием изменить расширение txt на cmd
Вообще-то автор просит "с помощью Python".
Arigato вне форума Ответить с цитированием
Старый 08.06.2021, 10:12   #7
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию

Уважаемый BDA и все кто ответил.
Огромное спасибо.
Всё работает отлично.
Всем удачи.
satfan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как загрузить профиль по умолчанию в Chrome с помощью Python Mr.Thinker Python 2 25.09.2020 05:49
Как изменить букву диска(флешки) с помощью python vanyapetrovich Python 4 04.10.2019 14:26
Python решить с помощью цикла for i09 Python 1 07.05.2015 13:10
Python решить задачу с помощью функции def i09 Python 1 07.05.2015 13:05
Фильтрация ненужного в базе bruimafia БД в Delphi 9 31.03.2014 20:06