Форум сайта python.su
0
Мне нужно получить имена видео файлов в текущем каталоге. Сделал вот так:
vid_name = glob.glob('*[.avi,.amv,.divx,.flc,.flv,.mkv,.mp2v,.mp4,.mp4v,.mpeg,.rmd,.swf,.vc1,.wm,.wmv,.xvid]')Офлайн
857
квадратные скобки работают по-другому
Офлайн
221
В вашем случае вероятно нужно сперва получить весь список файлов,а потом регулярными выражениями отсортировать нужное.
Офлайн
0
JOHN_16
Так и сделал, получил список всех имен os.listdir('.'). Затем использовал in чтобы узнать расширение.
Всем спасибо.
Отредактировано (Март 10, 2012 19:27:06)
Офлайн
221
asdf
предостерегаю вас от ошибки, если вы делаете что то типа:
if '.avi' in 'some_film.avi'
if '.avi' in 'some_file.avi.zip'
Офлайн
857
>>> 'some_file.avi'.endswith(('.avi', '.amv', '.divx'))
True
>>> 'some_file.mp3'.endswith(('.avi', '.amv', '.divx'))
False
>>> import os.path
>>> os.path.splitext('some_file.avi')
('some_file', '.avi')
>>> os.path.splitext('some_file.avi.zip')
('some_file.avi', '.zip')
>>>Офлайн
221
py.user.next
Ну что вы так сразу?:) человек может подумать хотел, справку почитать, а вы ему шансов не оставили:)
Офлайн
857
так на чтение уйдёт не меньше месяца
Офлайн
221
думаю не повредит, умнее будет.
Я исхожу из позиции что если человек сам ищет информацию и разбирается, то это разрабатывает в нем навыки и определенное смышление. Говорю по своему опыту, во времена студенческие писал на Делфи, и многие проблемы решались банальным копипастом готовых решений, без вникания в суть проблемы. Более того я даже справкой пользоваться толком не умел, все черпалось из интернет ресурсов в стиле “нужно это - вот кусок какого то кода для этого. Это очень плохой показатель.”
Отредактировано (Март 13, 2012 03:13:50)
Офлайн
857
в справке можно увязнуть, то есть начинаешь искать одно, а оно тянет за собой другое
в справке он не найдёт общепринятые алгоритмы, там только описание элементов и примеры их использования
больше подойдёт какая-нибудь книга, но книги у него нет
пока он будет узнавать из справки, что существует модуль os.path, который специально для чего-то предназначен, в котором ещё дофига всего, пройдёт много времени
а если он напишет скрипт, который будет делать полезное дело, у него возникнет сильная мотивация продолжить создание своих программ, которая и поможет читать справку месяцами
Офлайн