我编写了一个 Python 小程序,它通过目录(及其子目录)查找包含非 ASCII 字符的文件。
我想改进它。我知道这个“目录”中的某些文件可能是 ZIP、DTA/OUT、OMX、SFD/SF3 等......应该包含非 ASCII 字符的文件。所以我想知道这些在那里并筛选那些不应该包含 ASCII 字符的文件,因为我的最终目标是找到不应该包含非 ASCII 字符的文件并删除它们(带有 TB 值的坏扇区的损坏磁盘重要数据)。
我的想法是进一步查看 Python 中 try/except 块的“except”部分中的文件,如下所示:
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 中有这么多很酷的函数,我敢肯定我错过了一些可以提供帮助的东西。
干杯。