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

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

08.01.2022, 18:54. Показов 1021. Ответов 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,318
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,318
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
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru