1
for i,j in enumerate(output.readlines()):
    if i%len(tag) == 0:
         [1]
         [2]
         etc
         if i%len(tag) == len(tag) - 1:
            outputfile.write(<"something">)    

ZeroDivisionError还有更多代码,但自从我编辑了这段代码的前 2 行和最后 2 行以来,我一直遇到问题。我不知道为什么会发生这个错误。

4

2 回答 2

2

您需要检查并确保 len(tag) 不为 0,然后再尝试使用它来修改(%)另一个值。mod( % ) 基本上是一个除法运算,因此如果 len(tag) 等于 0,您将得到 ZeroDivisionError

考虑以下代码,如果 len(tag) 等于 0,它将转义 for 循环:

for i,j in enumerate(output.readlines()):
    if len(tag) == 0:
        continue
    elif i % len(tag) == 0:
        #Rest of your code here.. 
        if i % len(tag) == len(tag) - 1:
            outputfile.write("something")
于 2012-12-05T02:01:18.827 回答
0

如果错误出现在这部分代码中,则在某个点上len(tag)等于。0(x%0没有定义,就像x/0.)

放在print tagif 语句之前,看看问题出在哪里。

tag如果没有看到更多代码(在哪里定义/修改等),我无法获得更具体的信息。

于 2012-12-05T01:57:17.537 回答