Я написал небольшую программу на Python, которая просматривает каталог (и его подкаталоги) для файлов, содержащих символы не-ASCII.
Я хочу улучшить это. Я знаю, что некоторые файлы в этом «каталоге» могут быть файлами ZIP, DTA / OUT, OMX, SFD / SF3 и т. Д., Которые, как предполагается, имеют символы не ASCII. Поэтому я хочу знать, что они там есть и просматривают те, которые не должны содержать символы ASCII, потому что моя конечная цель - найти файлы, которые не должны содержать символы не-ASCII, которые их содержат, и удалить их (поврежденный диск с поврежденными секторами с ценностью TB важных данных).
Мое мышление заключается в том, чтобы дополнительно просмотреть файлы, которые находятся в части «кроме» блока try / exception в Python, который выглядит следующим образом:
try:
content.encode('ascii')
output.write(str(counter) + ", " + file + ", ASCII\n")
print str(counter) + " ASCII file status logged successfully: " + file
counter += 1
except UnicodeDecodeError:
output.write(str(counter) + ", " + file + ", non-ASCII\n")
print str(counter) + " non-ASCII file status logged successfully: " + file
counter += 1
Когда я начал писать код, я понял, что цикл с вопросом, является ли файл '.zip'
или '.sfd'
pr '.omx'
, и т. Д. ... будет неуклюжей программой и будет длиться вечно.
Есть ли способ поиска группы файловых расширений, кроме одного за другим? Может быть, файл, содержащий эти расширения, чтобы проверить? Или что-то, о чем я не думал? Заранее извиняюсь, если это глупый вопрос, но в Python так много классных функций, что я уверен, что упускаю что-то, что может помочь.
Приветствие.