擅长:python、mysql、java
<p>以下是我的建议,因为它相当简单,我不认为你关心性能</p>
<pre><code>f = open("file.txt",'r')
lines = f.readlines()
f.close()
excludedWord = "whatever you want to get rid of"
newLines = []
for line in lines:
newLines.append(' '.join([word for word in line.split() if word != excludedWord]))
f = open("file.txt", 'w')
for line in lines:
f.write("{}\n".format(line))
f.close()
</code></pre>
<p>这允许一行上有多个单词,但如果每行只有一个单词,它也可以正常工作</p>
<p><strong>回答更新的问题:</strong></p>
<p>您不能直接编辑文件(或者至少我不知道如何编辑),但必须用Python获取所有内容,编辑它们,然后用更改的内容重新编写文件</p>
<p>另一件需要注意的事情是,<code>lst.remove(item)</code>将抛出<code>item</code>中的<code>lst</code>的第一个实例,并且只抛出第一个实例。因此<code>item</code>的第二个实例将不会受到<code>.remove()</code>的攻击。这就是为什么我的解决方案使用列表理解从列表中排除<code>excludedWord</code>的所有实例。如果您真的想使用<code>.remove()</code>,可以这样做:</p>
<pre><code>while excludedWord in lst:
lst.remove(excludedWord)
</code></pre>
<p>但我不鼓励这样做,因为我希望你能理解同样的列表</p>