【发布时间】:2017-08-25 15:16:35
【问题描述】:
我正在尝试打开一个文本文件,然后通读它,用存储在字典中的字符串替换某些字符串。
根据对How do I edit a text file in Python? 的回答,我可以在替换之前提取字典值,但循环遍历字典似乎更有效。
代码不会产生任何错误,也不会做任何替换。
import fileinput
text = "sample file.txt"
fields = {"pattern 1": "replacement text 1", "pattern 2": "replacement text 2"}
for line in fileinput.input(text, inplace=True):
line = line.rstrip()
for i in fields:
for field in fields:
field_value = fields[field]
if field in line:
line = line.replace(field, field_value)
print line
【问题讨论】:
-
到底发生了什么?你能举一个输入和预期输出的例子吗?
-
当你说“不做任何替换”时,你的意思是在打印行吗?
-
您的模式看起来如何?是那些词吗?
标签: python python-2.7 dictionary in-place