我正在尝试在Python2.7中做一些事情,我真的很感激任何帮助!!我有一个txt文件,我想阅读每一行并做一些事情(我还没有决定)然而)。无论如何,有一些我不想要的线路,我想跳过它们,我不知道该怎么做。我读到了next()函数,但我并不总是知道需要跳过多少行,我不知道如何使用next()eg.file.next()或next(iterator)。 为了使自己清楚,这是一个例子:
mytxt:
line1
line2
line3
line_to_be_skipped_1
line_to_be_skipped_2
line6
line7
line8
line_to_be_skipped_3
line9
etc
我试图做这样的事情:
if line=certain_condition:
skip_this_line_and_the_next_one(s)_if_the_same_condition_applies_and_continue_to_the_next_line
提前谢谢!!!
答案 0 :(得分:2)
with open('/path/to/file') as infile:
for line in infile:
if some_condition(line):
continue
do_stuff(line)
continue
只是告诉python忽略for循环体的其余部分并返回顶部。这样,任何通过some_condition
的行都将被忽略。
在您的情况下,您似乎想要忽略具有line_to_be_skipped
的行。因此,some_condition
可能如下所示:
def some_condition(line):
return "line_to_be_skipped" in line
答案 1 :(得分:1)
您可以尝试使用此
with open('test.txt') as f:
for i in f:
if i != "AnyParticularStatementToBeSkipped":
# do any operations here
答案 2 :(得分:1)
跳过特定行:
x = []
f = open("filename")
for line in f:
x.append(line) if line not in list_of_lines_to_skip
list_of_lines_to_skip
是您要跳过的行列表。您可以使用正则表达式来避免要跳过的特定图案线条(如果您更新问题,可以更新)。
答案 3 :(得分:1)
我通常这样做:
with open("mytxt", 'r') as f:
for line in f:
if "some pattern" in line:
continue
'''
process the line you will not skip
'''
答案 4 :(得分:1)
我敢打赌我的钱是重复的,但我找不到任何明显的2分钟搜索。
无论如何,最简单的方法是使用列表理解。
with open("test.txt") as f:
res = [x for x in f if x.rstrip('\n') not in list_of_exclude_items]