我想在解析驱动器或文件夹时创建一个字典“file_stats”,其中包含具有文件统计信息的对象。
我使用路径+文件名组合作为这个字典
的键对象有一个名为“addScore”的方法。
我的问题是文件名有时包含导致这些错误的“-”等字符:
Error: Yara Rule Check error while checking FILE: C:\file\file-name Traceback (most recent call last):
File "scan.py", line 327, in process_file
addScore(filePath)
File "scan.py", line 393, in addScore
file_stats[filePath].addScore(score)
AttributeError: 'int' object has no attribute 'addScore'
我使用文件名作为字典的键来快速检查文件是否已经在字典中。
我应该摒弃使用文件路径作为字典键的想法,还是有一种简单的方法来转义字符串?
file_stats = {}
for root, directories, files in os.walk (drive, onerror=walkError, followlinks=False):
filePath = os.path.join(root,filename)
if not filePath in file_stats:
file_stats[filePath] = FileStats()
file_stats[filePath].addScore(score)