Python 在开始标记和结束标记之间读取文本文件的内容
我目前有一个程序,可以读取文本文件并根据一组条件输出结果。在文件本身中,有许多不相关的信息需要忽略 我使用切片来设置我希望程序查看的位置的准则。但是,这会阻止代码与具有不同格式的其他文本相关 我在每个文件中都放置了类似于*START*和*FINISH*的提示,以说明我希望程序从何处开始并结束搜索 这就是我现在的处境Python 在开始标记和结束标记之间读取文本文件的内容,python,python-3.x,Python,Python 3.x,我目前有一个程序,可以读取文本文件并根据一组条件输出结果。在文件本身中,有许多不相关的信息需要忽略 我使用切片来设置我希望程序查看的位置的准则。但是,这会阻止代码与具有不同格式的其他文本相关 我在每个文件中都放置了类似于*START*和*FINISH*的提示,以说明我希望程序从何处开始并结束搜索 这就是我现在的处境 for line in open('filename.txt'): if line.startswith('* START'): #do stuff
for line in open('filename.txt'):
if line.startswith('* START'):
#do stuff
if line.endswith('* FINISH'):
#do stuff
请原谅我的无知,但我不确定如何达到与使用此方法切片相同的结果
slicing = list[5:-5]
如果有任何指点,我将不胜感激——干杯 您可以逐行读取文件,直到到达开始标记,然后执行某些操作,直到到达结束标记。例如:
with open('filename.txt') as f:
line = f.readline()
while not line.startswith('* START'):
line = f.readline()
while not line.endswith('* FINISH *\n'):
# add code to do something with the line here
# e.g. print it, store it to a list, ...
line = f.readline()
# do something to the line ending with '* FINISH *\n' here
我理解这一点,但我正在尝试使它忽略所有其他文本,只查看开始和结束之间的内容。示例程序读取行并忽略它们,直到找到开始标记。然后,它继续读取行,直到找到结束标记并忽略其后的行。如果这不是你想要的,请再解释一下你想要什么。@Androx没问题。也许您应该添加一些print(line)语句,并在一个小样本文件上运行代码,看看它能做什么。如果你还需要其他的东西,告诉我。你把所有的东西都用上了吗?不幸的是没有,我尝试了一些不同的东西,但都没有用。如果您愿意,我可以向您展示我的产品。您可以告诉我在尝试使用我的答案中的代码时遇到的问题。这对我来说很好。或者,您可以将您的尝试编辑到您的问题中,以便其他人可以提供更具体的帮助。