Найти - Пользователи
Полная версия: Вывод glob.glob()
Начало » Python для новичков » Вывод glob.glob()
1
asdf
Мне нужно получить имена видео файлов в текущем каталоге. Сделал вот так:
vid_name = glob.glob('*[.avi,.amv,.divx,.flc,.flv,.mkv,.mp2v,.mp4,.mp4v,.mpeg,.rmd,.swf,.vc1,.wm,.wmv,.xvid]')
Вместе с именами видео файлов вывелись файлы с сабами *.ass. Как такое может быть?
Может есть какой-то более нормальный способ отличить сабы от видео чем такой вот перебор?
py.user.next
квадратные скобки работают по-другому
JOHN_16
В вашем случае вероятно нужно сперва получить весь список файлов,а потом регулярными выражениями отсортировать нужное.
asdf
JOHN_16
Так и сделал, получил список всех имен os.listdir('.'). Затем использовал in чтобы узнать расширение.
Всем спасибо.
JOHN_16
asdf
предостерегаю вас от ошибки, если вы делаете что то типа:
if '.avi' in 'some_film.avi'
то все хорошо, но а если получится так:
if '.avi' in 'some_file.avi.zip'
во первых это не видео файл
во вторых не факт что если это архив то внутри него видео файл. Это всего лишь имя файла, оно может никак не отображать содержание файла.
py.user.next
>>> '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')
>>>
JOHN_16
py.user.next
Ну что вы так сразу?:) человек может подумать хотел, справку почитать, а вы ему шансов не оставили:)
py.user.next
так на чтение уйдёт не меньше месяца
JOHN_16
думаю не повредит, умнее будет.
Я исхожу из позиции что если человек сам ищет информацию и разбирается, то это разрабатывает в нем навыки и определенное смышление. Говорю по своему опыту, во времена студенческие писал на Делфи, и многие проблемы решались банальным копипастом готовых решений, без вникания в суть проблемы. Более того я даже справкой пользоваться толком не умел, все черпалось из интернет ресурсов в стиле “нужно это - вот кусок какого то кода для этого. Это очень плохой показатель.”
py.user.next
в справке можно увязнуть, то есть начинаешь искать одно, а оно тянет за собой другое
в справке он не найдёт общепринятые алгоритмы, там только описание элементов и примеры их использования
больше подойдёт какая-нибудь книга, но книги у него нет
пока он будет узнавать из справки, что существует модуль os.path, который специально для чего-то предназначен, в котором ещё дофига всего, пройдёт много времени
а если он напишет скрипт, который будет делать полезное дело, у него возникнет сильная мотивация продолжить создание своих программ, которая и поможет читать справку месяцами
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB