听写器似乎不适合我。
当前代码:
myfile = open('hashdict.csv', 'wb')
fieldnames = ('md5', 'value')
myWriter = csv.DictWriter(myfile, fieldnames=fieldnames)
headers = dict((n,n) for n in fieldnames)
myWriter.writerow(headers)
for n in dictToSearch:
myWriter.writerow(n)
myfile.close()
回溯:
Traceback (most recent call last):
File "hash.py", line 42, in <module>
myWriter.writerow(n)
File "C:\Python27\lib\csv.py", line 148, in writerow
return self.writer.writerow(self._dict_to_list(rowdict))
File "C:\Python27\lib\csv.py", line 144, in _dict_to_list
", ".join(wrong_fields))
ValueError: dict contains fields not in fieldnames: d, 1, a, 5, 0, d, 0, a, 1, 7
, 0, e, 5, e, a, 9, f, e, b, 6, f, 7, 9, 6, 1, 3, 6, 3, f, 6, d, 9
字母数字字符来自MD5哈希,但我只能告诉你这些。我看了这些文件,似乎看不懂。我要做的是从字典中创建一个CSV文件,名为dictToSearch。
谢谢你的帮助,如果你需要其他信息请告诉我。
链接到完整代码:http://pastebin.com/A3E4AJfV
这里缺少的关键信息是:什么是听写搜索?我猜它类似于{e2fc714c4727ee9395f324cd2e7f331f':'abcd','098f6bc4621d373cade4e832627b4f6':'test'}。
如果是这样,这里的问题是“for n in dictToSearch”将n设置为dictToSearch的第一个键-这将是一个MD5散列。writerow(n)然后将该MD5哈希字符串本身解释为一个字典,由单个字符键和值组成,而不是字符串。
我想你真正想做的是:
它将dictToSearch中的条目转换为自己的字典,与您正在使用的字段名匹配。
相关问题 更多 >
编程相关推荐