Задать вопрос
@file2
improving further

Почему не срабатывает filter?

Есть скрипт который ищет файл в папке, наименование файла беру из файла namefiles.txt,
так вот если брать строку из файла то fnmatch.filter ничего не найдет,
если в переменную pattern вручную вписать например pattern = 'тест_ГК1*' то файл будет найдет!
(звездочка нужна тк в наименовании файла могут быть еще другие символы)
Подскажите почему при чтении из файла в переменную filter не видит файл?

содержимое namefiles.txt
ГК0
ГК1
ГК2

import fnmatch
import os

path = 'C:\temp'

typefiles = []
listfile = codecs.open('namefiles.txt', "r", "utf-8")
for line in listfile:
    typefiles.append(line.replace('\n', ''))
listfile.close()

for file in typefiles:
    pattern = f'тест_{file}*'
    
    matches = []
    for root, dirnames, filenames in os.walk(path):
        for filename in fnmatch.filter(filenames, pattern):
            matches.append(os.path.join(root, filename))

    print(matches)
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@file2 Автор вопроса
improving further
решил проблему, файл текстовый надо было открыть utf-8-sig
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы