我再次开始,谢谢大家的回复。
我有一个日志文件,我拿走了该条目并从中删除了所有垃圾。 我剩下的数组或列表就是这个
23
23.23.23.23
45
45.45.45.45
100
34.34.54.13
我如何称呼我想要的每条线就是这个。
a = 1
while a < 18:
a = a + 2
#logging.debug(line.split(PID_ANDROID)[a])
countIP = a
trySomething()
if a == 20:
break
但我打电话后必须做的事情。 我希望能够使用第一个条目,
> do something
> see if something is happening
> if its not goto 3rd entry
> try the same thing again.
这就是我所坚持的。 因为当我从其他内部调用它时,我使用全局存储。 python告诉我,我不能使用str或turp。或者使用下面的代码,我可以继续输出列表中的所有内容。
atm我有这段代码。
def trySomething():
global countIP
global LOG_SPLITER
#logging.debug('Processing Number: %s' % (countIP,))
logging.debug(LOG_SPLITER.split(PID_ANDROID)[countIP])
time.sleep(.5)
clearScreen()
#grabBox90()
#lineGoto()
我的问题是。 我怎么能做循环,一次只抽出一个用它做一些事情,当我完成循环转到下一个循环?
答案 0 :(得分:0)
看起来好像你应该使用一个初始索引为1且步长为2的for循环。或者,使用显式调试语句作为值1,然后循环其余部分,从3开始,以避免如果测试。如果代码的其余部分要增加1而不是2,那么这允许您在仍然具有循环的情况下正确地执行初始跳过。
而不是
for i in range(1,20,2):
# do you processing
Python 2
{{1}}
Python 3
{{1}}
答案 1 :(得分:0)
如果您只想记录line
中的每个条目,您可以执行以下操作:
entries = line.split(PID_ANDROID)
for e in entries[::2]: # take every other element
logging.debug(e)
对条目进行迭代是“更加pythonic”。