首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中删除文件中的特定单词

在python中删除文件中的特定单词
EN

Stack Overflow用户
提问于 2014-01-09 04:33:49
回答 4查看 9.7K关注 0票数 1

我是python的新手,刚刚开始导入文本文件。我有一个文本文件,其中包含一个单词的列表,我想能够输入一个单词,这个单词要从文本文件中删除。有人能解释一下我是怎么做到这一点的吗?

代码语言:javascript
运行
复制
text_file=open('FILE.txt', 'r')
ListText = text_file.read().split(',')
DeletedWord=input('Enter the word you would like to delete:')
NewList=(ListText.remove(DeletedWord))

到目前为止,我已经将该文件导入到列表中,然后我可以从新列表中删除一个单词,但也可以从文本文件中删除该单词。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-09 04:40:29

下面是我推荐的方法,因为它相当简单,而且我不认为您关心的是性能:

代码语言:javascript
运行
复制
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()

这允许一行上有多个单词,但如果每行只有一个单词,也同样有效

回答更新后的问题的

您不能直接编辑文件(或者至少我不知道如何编辑),而是必须获取Python中的所有内容,对其进行编辑,然后使用更改后的内容重写文件

另一件需要注意的事情是,lst.remove(item)将抛出lst中的第一个item实例,而且只抛出第一个实例。因此,对于.remove()来说,item的第二个实例是安全的。这就是我的解决方案使用列表理解从列表中排除所有excludedWord实例的原因。如果你真的想使用.remove(),你可以这样做:

代码语言:javascript
运行
复制
while excludedWord in lst:
    lst.remove(excludedWord)

但我不鼓励这样做,而是支持等效的列表理解。

票数 1
EN

Stack Overflow用户

发布于 2015-12-25 05:06:15

我们可以替换文件中的字符串(需要一些导入;):

代码语言:javascript
运行
复制
import os
import sys
import fileinput

for line in fileinput.input('file.txt', inplace=1):
    sys.stdout.write(line.replace('old_string', 'new_string'))

在这里(也许)找到这个:http://effbot.org/librarybook/fileinput.htm

如果'new_string‘更改为'',则这与删除'old_string’相同。

票数 0
EN

Stack Overflow用户

发布于 2020-07-15 13:57:44

所以我尝试了一些类似的东西,这里有一些观点给那些可能会读到这个帖子的人。替换修改过的内容的唯一方法是在"w“模式下打开相同的文件。然后python就会覆盖现有的文件。我尝试使用"re“和sub():

代码语言:javascript
运行
复制
import re
f = open("inputfile.txt", "rt")
inputfilecontents = f.read()
newline = re.sub("trial","",inputfilecontents)
f = open("inputfile.txt","w")
f.write(newline)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21005921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档