Ваша функция getIterLength()
находит длину путем исчерпания итератора, возвращаемого finditer()
. Затем вам потребуется новый экземпляр итератора для цикла for. Вместо этого я бы реструктурировал ваш код следующим образом:
def findpattern(commit_msg):
pattern = re.compile("\w\w*-\d\d*")
group = pattern.finditer(commit_msg)
found = 0
issues = 0
for match in group:
print " print matched issues:"
auth = soap.login(jirauser,passwd)
print match.group(0)
getIssue(auth,match.group(0))
issues = issues + 1
found += 1
if found == 0:
sys.exit("No issue patterns found.")
print "Retrieved issues: " + str(issues)
ИЛИ, вы можете использовать метод findall()
вместо finditer()
, чтобы получить список (итеративный, а не итератор), в котором вы можете запустить len(group)
, чтобы получить размер, а затем использовать его переберите цикл for.