【发布时间】:2022-09-23 20:25:24
【问题描述】:
我对python很陌生,所以如果这真的很明显,请原谅我。我想用基于字典(或字典文件)的替代词替换文件中的所有单词。我已经阅读了许多其他帖子,并且此代码(如下)运行良好。但是,它也会替换子字符串。
text = \"strings.txt\"
fields = {\"Cat\": \"Hello\", \"Hat\": \"Goodbye\"}
for line in fileinput.input(text, inplace=True):
line = line.rstrip()
if not line:
continue
for f_key, f_value in fields.items():
if f_key in line:
line = line.replace(f_key, f_value)
print (line)
因此,卡特彼勒将成为 Helloerpillar,而仇恨者将成为 Goodbyemonger。我希望单独留下子字符串,因此只会替换完整的单词。谁能建议我如何做到这一点?
另外....这不太重要,但我也尝试让脚本从单独的文件中读取字典。这不是那么重要,但如果有它会很好。
我试图通过以下方式修改脚本,但没有运气。
import json
with open(\'dictionary.txt\') as f:
data = f.read()
text = \"strings.txt\"
fields = data
for line in fileinput.input(text, inplace=True):
line = line.rstrip()
if not line:
continue
for f_key, f_value in fields.items():
if f_key in line:
line = line.replace(f_key, f_value)
print (line)
您可以就这些问题(尤其是第一个问题)提供的任何建议将不胜感激。
谢谢
标签: python dictionary