我创建了需要放入txt文件的变量。我没有任何成功。我的程序将创建标题信息,但在此之后停止写入文件。顶部循环是我的"订单标题"而机器循环是我的"订单明细"。我已经尝试过调试,并从各个角度看待它。我无法弄清楚我做错了什么。该程序正在编写所有文本文件并附加到XHORNO和XHCSNO。就疑难解答而言,我尝试过打印语句(print "header"
print "detail"
和print "machine"
)来验证代码是否按预期命中每个循环。这种努力导致了正确的输出。但是它不会将详细循环变量写入文件。
for k, v in atlantic_billing.iteritems():
# print "header"
#CREATE XHORNO
XHORNO = str(digits + counter)
print XHORNO
with open(XHORNO + ".txt", 'w') as order:
XHCSNO = k
machines = v
#create order header information
order.write(XHORNO+"\n")
order.write(XHCSNO+"\n")
line = 1
counter = counter + 1
for machine in machines :
try:
XDORNO = XHORNO
XDORSQ = line
line = line + 1
XDITD1 = ranpak_dict[machine]['MODEL']
XDITD2 = ranpak_dict[machine]['SN']
XDCAVC = ranpak_dict[machine]['TOTAL']
order.write(XDORDQ + "\n")
order.write(XDITD1 + "\n")
success.append(machine)
lines = lines + 1
except :
issues.append(machine)
problems = problems + 1
答案 0 :(得分:3)
对给定信息的最佳猜测......每个循环都归结为:
lines = lines + 1
然后抛出NameError
,因为lines
未定义(之前称之为line
)。由于您的except
子句正在捕获所有异常,因此程序会将该条目静静地添加到problems
并继续。
这是一个很好的例子,说明为什么你应该尽可能具体地了解你在except
条款中捕获的错误。
编辑:...但我想它应该仍然在那时写入文件的行?所以......可能还需要更多的信息。但是,请务必缩小except
的范围,以便更轻松地进行问题排查。