我正在尝试解析包含以下内容的文件
# This is 1st line
# This is 2nd line
ATOM This is 3rd line
ATOM This is 4th line
# This is 5th line
# This is 6th line
我希望使用Python 2.7来解析文件,并将以ATOM
开头的行追加到列表head_list
,行以ATOM
开头到{{1} }和包含atom_list
到ATOM
的行之后的行。
我想在Python中使用tail_list
来匹配以startswith()
开头的行。下面是我的代码,我传递的是计数器变量,它具有以ATOM开头的文件中最后一行的索引。但我的输出似乎不正确
ATOM
答案 0 :(得分:0)
这一行:
enumerate(all_file_contents, counter)
没有做你认为的事情;它迭代列表中的所有内容,但从counter
而不是0
开始编号。最小的修复是:
for i, line in enumerate(all_file_contents):
if i >= counter:
tail_list.append(line)
但是,更好的方法是不要遍历整个文件三次。请特别注意tail_list = all_file_contents[counter:]
获得您想要的结果。另外,摆脱global
并明确传递counter
。
您还应该阅读the style guide。