我试图检查在我的一个文件的行中是否有字典的键,如果是这种情况,我想用他们尊重的值替换它们。 这是我的代码:
import sys
file1 = sys.argv[1]
dictionary = {key1 : value1 , key2 : value2 , ecc...}
with open (file) as f:
for line in f:
if any(e in line for e in dictionary.keys()):
print(line.replace(e,dictionary[e]))
答案 0 :(得分:2)
看起来你正在尝试做的事情是这样的:
with open(file) as f:
for line in f:
for k,v in dictionary.items():
line = line.replace(k, v)
print(line)
即,对于字典中的每个键/值,将该键的行出现替换为关联值。
或者,您可以一次性阅读整个文件,只需在整个文件中运行替换:
with open(file) as f:
data = f.read()
for k,v in dictionary.items():
data = data.replace(k, v)
print(data)
如果您使用的是Python 2,则应使用.iteritems()
代替.items()
。