我在python中读取文件:
alist = [line.rstrip() for line in f]
for line in alist:
if line[10] == 4:
hop over 4 lines
文本文件示例:
当一行中的10个元素是x(某些数字1,2,3,4,...)时,我想跳过等量的行。我已经找了很长时间的答案,但我找不到任何东西,请帮忙!
答案 0 :(得分:1)
为了实现这一点,您可以使用while
迭代文件的索引:
i = 0 # initialize counter
file_lines = f.readlines() # It contains the list of all the lines
while i < len(file_lines):
line = file_lines[i].strip() # stripped content of `i`th line
if line[10].isdigit(): # check if 10th character is digit
match = line[10]
# Do something
i += int(match) # increment the counter by 10
else:
i += 1
答案 1 :(得分:1)
尝试将alist
转换为可迭代,然后您可以通过调用next
alist = [line.rstrip() for line in f]
it = iter(alist)
for line in it:
print(line)
if line[10] == 4:
for i in range(4):
try:
_ = next(it)
except StopIteration:
break
答案 2 :(得分:-1)
你可以做到这一点的一种方法是使用while循环。这是一个例子:
i = 0
while i < 20:
print(i)
i += 4`
打印
0
4
8
12
16`
我不完全确定我理解 为什么你试图跳过线路,所以如果你能提供这些信息,我可以将代码更改为您需要的更多内容。