Я изо всех сил пытаюсь собрать пару вещей, поскольку, поскольку у меня есть код, который работает с определенным шаблоном файла (например, FILENAME_IDENTIFIER_NUMBER.filetype), у меня есть несколько старых файлов, которые не соответствуют этой конкретной структуре имени файла которые выдают ошибки, когда я пытаюсь работать со смешанными именами.
Есть ли способ поиска файлов, которые не соответствуют этой файловой структуре? Я пытался использовать glob и не могу его найти. fnmatch при использовании с _ . даст мне оба варианта, так как подстановочный знак, по-видимому, все равно принимает после первого подчеркивания.
например, у меня в нескольких каталогах будут имена файлов, такие как:
filename_identifier_number.extension filename_number.extension
, где я обычно разделяю вышеприведенное с помощью:
for f in files:
filepath = os.path.join(subdir,f)
fname,fext = os.path.split(f)
filename,identifier,number = fname.split("_")
, это будет работать, но, очевидно, я получу ошибку, когда в имени файла будет только одно подчеркивание.
Может Я либо игнорирую эту ошибку? (Я попробовал следующее):
try:
print(filename)
except ValueError:
pass
Однако это не работает.
или есть способ найти любое имя файла, которое не соответствует требуемому формату (filename_identifier_number) и разработать что-то, что обрабатывает их по-другому?
Спасибо,