Replace the whole string if it contains specific letters/character
如果包含特定的字母/字符,则替换整个字符串…
我有一个包含多行的文本文件(myfile.txt),例如:
The hotdog
The goal
The goat
我要做的是:
如果文件中的任何单词/字符串包含字符"go",则将其替换为全新的单词/字符串("boat"),因此输出如下所示:
The hotdog
The boat
The boat
如何在Python2.7中完成这一点?
听起来你想要这样的东西:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | with open('myFile.txt', 'r+') as word_bank: new_lines = [] for line in word_bank: new_line = [] for word in line.strip().split(): if 'go' in word: new_line.append('boat') else: new_line.append(word) new_lines.append('%s ' % ' '.join(new_line)) word_bank.truncate(0) word_bank.seek(0) word_bank.writelines(new_lines) |
打开文件进行读写,将每一行拆分为组件字,并查找要替换的"go"实例。保持在列表中,因为您不想修改正在迭代的内容。你会很不开心的。一旦构造好了,就截断文件(删除它)并写下您想到的内容。注意,我改为在结尾处粘贴一个明确的
'