Python 搜索、删除并输出到新创建的文件
我希望创建一个函数,该函数将搜索输入文件的每一行,搜索该文件的每一行,查找特定的字符串序列,如果找到,则从输入文件中删除整行,并将这一行输出为具有类似格式的新创建的文本文件 输入文件格式始终如下所示:Python 搜索、删除并输出到新创建的文件,python,file,line,lines,Python,File,Line,Lines,我希望创建一个函数,该函数将搜索输入文件的每一行,搜索该文件的每一行,查找特定的字符串序列,如果找到,则从输入文件中删除整行,并将这一行输出为具有类似格式的新创建的文本文件 输入文件格式始终如下所示: Firstname:DOB Firstname:DOB Firstname:DOB Firstname:DOB 等等 我想输入这个文件,然后搜索DOB(19111991),如果它在行中找到这个字符串,那么从输入文件中删除它,最后将它转储到一个新的.txt文档中 老实说,我很无知,但我想这是我的逻
Firstname:DOB
Firstname:DOB
Firstname:DOB
Firstname:DOB
等等
我想输入这个文件,然后搜索DOB(19111991),如果它在行中找到这个字符串,那么从输入文件中删除它,最后将它转储到一个新的.txt文档中
老实说,我很无知,但我想这是我的逻辑尝试,即使有些代码可能是错误的:
def snipper(iFile)
with open(iFile, "a") as iFile:
lines = iFile.readlines()
for line in lines:
string = line.split(':')
if string[1] == "19111991":
iFile.strip_line()
with open("newfile.txt", "w") as oFile:
iFile.write(string[0] + ':' + '19 November' + '\n')
任何帮助都很好。请尝试以下代码:
def snipper(filename)
with open(filename, "r") as f:
lines = f.readlines()
new_data = filter(lambda x: "19111991" in x, lines)
remaining_old_data = filter(lambda x: "19111991" not in x, lines)
with open("newfile.txt", "w") as oFile:
for line in new_data:
oFile.write(line.replace("19111991", "19th November 1991'"))
with open(filename, "w") as iFile:
for line in remaining_old_data:
iFile.write(line)
你的问题到底是什么?你测试过那个代码吗?它有用吗?如果没有,你试过吗?不幸的是,它不起作用。我只想让函数在输入文件中搜索'19111991',如果它找到它,从输入文件中删除该行并将其转储到新的输出文件中。你说的“不工作”是什么意思?错误(提供完整的回溯)?意外输出(提供输入以及预期和实际输出)?代码中的问题在哪里(请提供答案)?以后,请按照下面的步骤检查答案。简而言之,您可以将lambdas看作一行函数。非常感谢您的帮助-但还有一个问题。您是否可以编辑代码,使新文件的输出为“FirstName:1991年11月19日”?我不确定这是否实用。嘿,你能编辑一下你的代码,把1911991和2011991删掉吗?由此,我可以对代码做更多的工作。非常感谢:)@Eric1989不是这样的。。我已经回答了您原来的问题,如果您有新问题,请改为作为新问题提问:)