Python 如何删除文件中的多行? 我有一个文件,我需要删除文件中间的几行。< /P>
我需要删除的行在开头和结尾都有一个关键字 例如:Python 如何删除文件中的多行? 我有一个文件,我需要删除文件中间的几行。< /P>,python,python-2.7,Python,Python 2.7,我需要删除的行在开头和结尾都有一个关键字 例如: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
dddddddddddddddddddddddddd
开始移除
依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依
FFFFFFFFFFFFFFF
gggggggggggggggggg
HHHHHHHHHHHHHHHHHHHHHHHHH
内移
IIIIIIIIIIIIIII
JJJJJJJJJJJJJJJJJJJJ
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
我需要一个脚本,当然是python脚本,来删除关键字“Begintoremove”和“EndofRemove”之间的文本部分
您认为可以这样做吗?如果可以,使用哪种Python函数
f = open('filename')
lines = f.readlines()
f.close()
result = []
bool_remover = False
for line in lines:
if line == "Begintoremove" : bool_remover = True
if not bool_remover : result.append(line)
if line == "EndofRemove" : bool_remover = False
我没有在结果中包括“Begintoremove”和“EndofRemove”。根据当前的
复制状态,从文件中读取行并将其复制到第二行:
with open('file_path', 'r') as my_file:
file_lines = my_file.readlines()
first_part = file_lines[:file_lines.index('Begintoremove')]
second_part = file_lines[file_lines.index('Endtoremove') + 1:]
lines = first_part + second_part
with open('file_path', 'w') as my_file:
my_file.writelines(lines)
copying = True
with open('input_file.txt', 'rt') as inf, open('output_file.txt', 'wt') as outf:
for line in inf:
if copying:
if line.startswith('Begintoremove'):
copying = False
else:
outf.write(line)
elif line.startswith('EndofRemove'):
copying = True
我想是的,但是你应该先试试。当然,这是可能的,只要试试;-)。逐行读取文件,对于您读取的每一行,使用函数line.startswith(“Begintoremove”)
开始删除,直到line.startswith(“EndRemove”)
为真