我有一個python腳本,將解析爲序列號xml文件,並將它們寫入一個文本文件了。下面的代碼的問題是,它正在進行無限循環。如果我在登錄到文件後添加一個break語句,它只寫入一個序列號。如何增加計數器,以便程序在寫完所有序列號後退出。打破的,而真正的循環
try:
while True:
data, addr = s.recvfrom(65507)
mylist=data.split('\r')
url = re.findall('http?://(?:[a-zA-Z]|[0-9]|[[email protected]&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', data)
print url[0]
response = urllib2.urlopen(url[0])
the_page = response.read()
tree = ET.XML(the_page)
with open("temp.xml", "w") as f:
f.write(ET.tostring(tree))
document = parse('temp.xml')
actors = document.getElementsByTagName("ns0:serialNumber")
for act in actors:
for node in act.childNodes:
if node.nodeType == node.TEXT_NODE:
r = "{}".format(node.data)
print r
logToFile(str(r))
time.sleep(10)
s.sendto(msg, ('239.255.255.250', 1900))
except socket.timeout:
pass
完成循環的條件是什麼 - 您需要一些條件。 – AChampion
謝謝@AChanpion - 一旦所有連續數字都寫入文件..它應該退出 –
例如,如果len(data)== 0'不能退出'? –