0
Учитывая файл под названием SI 01130 TN 72 - 2016-02-19 в текущем рабочем каталоге, а также следующее:fnmatch.fnmatch() не обнаруживает нужный файл (или не обнаруживать ни вообще)
import os
import fnmatch
def matching_current_instruction_id_in_baseline(_id):
for _file in os.listdir('.'):
if fnmatch.fnmatch(_file, 'SI 01130 TN 72*'):
return file
else:
continue
return None
Почему не следует забрать его (все они совпадают - это файл с именем «x», по какой-то причине).
In[50]: matching_current_instruction_id_in_baseline('SI 01130 TN 72')
Out[50]: 'x
Не ответ, но glob был бы лучшим подходом, в частности иглобом, если вы просто хотите увидеть, есть ли какое-либо совпадение, ваше дальнейшее продолжение также является излишним. fnmatch также будет соответствовать строке, как указано, так что происходит что-то еще. –
'return next (glob.iglob (" path_to/'SI 01130 TN 72 *' "), None)' будет делать все, что ваша текущая функция. –
Вы работаете с переменной '_file', но затем возвращаете' файл'. Исправив это, он работает для меня. – jsfan