*Python*如果条件为真,如何将两个单独的PKL文件中的多个值复制到一个带有两个键的字典中?

*Python*如果条件为真,如何将两个单独的PKL文件中的多个值复制到一个带有两个键的字典中?,python,dictionary,pickle,Python,Dictionary,Pickle,我正在尝试使用嵌套for循环解析2个独立的.pkl文件(这部分非常有用)。这两个文件都包含以导入哈希作为值的字典 我想将first.pkl中的每个散列与另一个.pkl文件中的每个散列进行比较,如果存在匹配项,则将它们转储到另一个.pkl文件中 问题是只转储第一个匹配项,而忽略其余匹配项,尽管它们与哈希值匹配。最后两个print语句用于验证加载的.pkl文件是否为空 def compareimphash(path1, path2): matching = {} dictfile1 = open(p

我正在尝试使用嵌套for循环解析2个独立的.pkl文件(这部分非常有用)。这两个文件都包含以导入哈希作为值的字典

我想将first.pkl中的每个散列与另一个.pkl文件中的每个散列进行比较,如果存在匹配项,则将它们转储到另一个.pkl文件中

问题是只转储第一个匹配项,而忽略其余匹配项,尽管它们与哈希值匹配。最后两个print语句用于验证加载的.pkl文件是否为空

def compareimphash(path1, path2):
matching = {}
dictfile1 = open(path1, 'rb')
dictfile2 = open(path2, 'rb')
dict1 = pickle.load(dictfile1)
dict2 = pickle.load(dictfile2)
if not os.path.exists('pickle/'):
    os.makedirs('pickle/')
for keys1 in dict1:
    for keys2 in dict2:
        if dict1[keys1] == dict2[keys2]:
            matching[keys1, keys2] = dict1[keys1].copy()
            pickle.dump(matching, open('pickle/matchingimphashes.pkl', 'ab'))

        print('Dictionary 1: ', keys1, '=>', dict1[keys1])
        print('Dictionary 2: ', keys2, '=>', dict2[keys2])
请参阅: