2 回答

TA贡献1111条经验 获得超0个赞
你的最后一个循环不太正确。 for x in y & z不像你认为的那样工作。此外,您必须使用and代替&.
试试这个:
for key, value in keys.items():
if key in keys1 and keys1[key] == value:
print(key, value)

TA贡献1807条经验 获得超9个赞
您可以使用以下代码
with open("out.ini", 'w') as outfile_handle:
for key, value in keys1.iteritems():
outfile_handle.write("%s\n" % separator.join([key, keys.get(key, value)]))
更新
如果您想要合并来自两个文件的所有键,您可以先创建两个键集的并集,然后对其进行迭代以形成文件。请参阅下面的代码。
with open("out.ini", 'w') as outfile_handle:
all_keys = set(keys.keys() + keys1.keys())
for key in all_keys:
val1 = keys.get(key)
val2 = keys1.get(key)
outfile_handle.write("%s\n" % separator.join([key, val2 or val1]))
在这里, val2 或 val1 用于确保我们更喜欢第二个文件的值而不是第一个文件的值。如果您需要优先选择第一个文件的值而不是第二个文件,则应使用 val1 或 val2。
添加回答
举报