doza_andНе, glob не годится. Долго объяснять, но я не знаю даже, где glob удобен.
Я бы в таком случае искал при помощи glob.
Как будешь искать на 11-ом уровне директории нужный файл? А если один файл на 5-ом уровне, а другой на 10-ом, и оба нужно найти? А если уровней 20? К тому же он найдёт и файл name.doc, и каталог name.doc, так как не различает типы.
Kir@Это не имеет значения. Если у тебя второй питон, то используй юникод-строку для начального пути - os.walk() выдаст юникод-строки.
Директории называются русскими буквами вперемешку с пробелам
Если питон - третий, то вообще всё равно, на каком языке пути.
Kir@
Как теперь к этому коду прикрутить маску “*.doc?”?
>>> 'file.txt'.endswith(('.doc', '.docx')) False >>> 'file.doc'.endswith(('.doc', '.docx')) True >>> 'file.docx'.endswith(('.doc', '.docx')) True >>> 'file.doct'.endswith(('.doc', '.docx')) False >>>
>>> import re >>> >>> re.search(r'\.docx?$', 'file.txt') >>> re.search(r'\.docx?$', 'file.doc') <_sre.SRE_Match object at 0xb74291e0> >>> re.search(r'\.docx?$', 'file.docx') <_sre.SRE_Match object at 0xb7429100> >>> re.search(r'\.docx?$', 'file.doct') >>>