Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686

Создание базы данных из имён папок

08.01.2022, 18:54. Показов 1060. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть код получения папок с названиями курсов. Задача собрать базу данных из имён этих курсов.
Вот код. Спасибо Semen-Semenich.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
 
 
def hack_trash(route, list_file):
    for file in list_file:
        if file.endswith(('.wav', '.mp3', '.pdf', '.avi', '.wmv', '.mp4')):
            dct.setdefault(route, []).append(file)
 
 
path = 'J:'
dct = {}
for route, catalog, file in os.walk(path):
    hack_trash(route, file)
 
for key, val in dct.items():
    print(f'     {key}')
    print(*val, sep='\n')
    print()
Вот путь до файла. В этом пути есть Название курса. Его и надо получить из пути до файла
Code
1
2
_ 2 Бизнес с LevUp\2 Бизнес-онлайн\Попов Е. - Все технические моменты онлайн-бизнеса в видеоформате 2011\AutoPlay\files\13audiovideo\14
14.mp4
Название курса здесь будет
Code
1
"Попов Е. - Все технические моменты онлайн-бизнеса в видеоформате 2011 "
.
Надо делать
Python
1
2
3
name[]
name = route.split(\)
name_cource = name[2]
Но это ясно когда знаешь на каком месте пути находиться название курса. А как можно определить Название курса если путь неизвестен. Название может быть и на первом месте и на втором и т.д.
Прошу помощи.

Добавлено через 19 минут
Для начала надо разбить путь на все части из которых он состоит по \. Затем определить есть ли в этой части такие символы как точка, запятая, тире, скобки квадратные или круглые, символ нижнего тире _. Части с большим количеством слов. Эти части уже с большой вероятностью и есть Названия курсов. Такие сырые предварительные мысли по этому вопросу. Может у кого то есть ещё идеи по этому вопросу. Прошу помощи.

Добавлено через 6 минут
Части с годом выпуска.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2022, 18:54
Ответы с готовыми решениями:

Создание базы данных файлов и папок компьютера
Задача: написать на С++ приложение для поиска файлов и папок на компьютере, которое работает с базой данных. Если статьи по тому, как...

Создание файла со списком имён всех папок в определенной директории, включая вложенные
Добрый день. Решил создать список, взяв все имена всех папок в определенной директории (включая вложенные) и поместить имена в виде...

Создание базы данных, открытие из под одной базы данных MS Access
Здравствуйте. В общем, C# начал заниматься только вот и сразу была поставлена задача создать базу данных. Идея есть, при открытие программы...

15
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
08.01.2022, 18:56
route.split(\)
сам путаюсь какой-то из них
Python
1
2
3
4
route.split('\')
route.split('\\')
route.split(r'\')
route.split(r'\\')
пробуйте
опробовали
Python
1
2
import os
os.walk
??, который строит дерево диска, каталога
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 19:01  [ТС]
Теперь это надо записать через код. Как лучше всё это сделать. Прошу помощи.

Добавлено через 2 минуты
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
сам путаюсь какой-то из них
Скорее всего по первой строке.
Python
1
route.split('\')
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
08.01.2022, 19:01
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
route.split('\')
route.split('\\')
route.split(r'\')
route.split(r'\\')
пока вы шишек не набьёте попробовав все эти варианты - дохлый номер

Добавлено через 28 секунд
Цитата Сообщение от vlad56 Посмотреть сообщение
Скорее всего по первой строке.
без скорее-пробуйте
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 19:08  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
пробуйте
опробовали
Python
1
2
import os
os.walk
??, который строит дерево диска, каталога
В коде программы на 12 строке
Python
1
for route, catalog, file in os.walk(path):
Добавлено через 4 минуты
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
без скорее-пробуйте
По этому коду получения каталогов разлагать нужно по строке. Я думал вы спрашиваете у меня.
Python
1
route.split('\')
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.01.2022, 19:08
vlad56, покажи список путей. На разные курсы. И чем больше тем лучше.

Добавлено через 27 секунд
Можешь файл выложить если очень много
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 19:21  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
покажи список путей. На разные курсы. И чем больше тем лучше.
Вот что даёт программа

Анализ двух программ. Katalog_os_walk.rar

Очень много похожих путей.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.01.2022, 19:35
Нереально
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 19:36  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Нереально
Что именно Нереально?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.01.2022, 19:38
Нереально вытащить из этого списка именно названия курсов
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 19:47  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Нереально вытащить из этого списка именно названия курсов
Часть названий курсов можно вытащить по принципу который я описал в первом сообщении. Можно также использовать слова исключения. И затем смотреть что останется после такой обработки в списке. И думать как вытащить остальные названия курсов. Вплоть до того что брать оставшиеся части пути и считать их названиями курсов. Цель этой работы. Сравнить курсы которые есть на компу с базой курсов с форума. И которые названия не совпадут записать отдельно в файл. Если будут ошибки это не очень страшно. Всё в мире поправимо. И всё когда то с чего то начиналось. Буду рад помощи.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.01.2022, 19:52
Ну удачи, чо. План есть, пиши код.

Не по теме:

Мне в такую сомнительную авантюру ввязываться что-то неохота

0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 20:02  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Мне в такую сомнительную авантюру ввязываться что-то неохота
Во многих случаях первые открытия делали люди которые мало знали. Поэтому у них и получалось.
Шмель не знает законов аэродинамики поэтому и летает. Хотя учёные считали что по всем законам шмель летать не может.
Но мохнатое насекомое физику не изучало и на лекциях не сидело. Ежедневно шмелики, радостно гудя крыльями, показывали, насколько наука бессильна.
Удачи. Спасибо хотя бы за пожелания.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.01.2022, 20:06
Цитата Сообщение от vlad56 Посмотреть сообщение
Шмель не знает законов аэродинамики поэтому и летает.
К сожалению такая точка зрения в программировании не прокатит. Метод научного тыка тут как правило не работает.
Впрочем, не будем оффтопить, дерзай.
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
08.01.2022, 20:13  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
К сожалению такая точка зрения в программировании не прокатит. Метод научного тыка тут как правило не работает.
Если бы было так, то не было бы и Билл Гейтса, и интернета, и мобильного телефона. Да и радио тоже наверное не было бы. Как и современной электрической лампочки. Да и полупроводниковой также. Также открытия Америки и много чего ещё.
Наука до сих пор не знает что такое электромагнитная волна, а использует - мама не горюй.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.01.2022, 20:18
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2022, 20:18
Помогаю со студенческими работами здесь

Получение количества таблиц и их имен из .mdf базы данных
Есть база данных tests.mdf, подключённая к WPF проекту через SQL Server. Вот фрагмент кода: public void conn1() { ...

Список имен файлов без имен папок и скрытых файлов
Здравствуйте Я пытаюсь вывести список имен файлов в текущей папке без отображения имен папок и скрытых файлов Использую следующий...

Создание базы данных, создание таблиц в MS SQL Server из программы на C++ Builder 6.0
Здравствуйте. Не могу найти источника знаний по созданию базы данных в удалённом MS SQL Servere. В базе данных необходимо создать таблицы и...

Создание базы данных на лету, создание и заполнение таблиц в базе DB (Paradox? или..).
Здравствуйте Профи! --- Видел я "простенькую" (exe-шник небольшого размера, запускается сразу, без предварительной установки)...

Создание экземпляра БД (создание собственно базы данных)
Добрый день. Подскажите пожалуйста, я пытаюсь установить Oracle Database 11g Release 2. Следую этой инструкцией...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru