python使用循环和变量创建并附加txt文件

时间:2016-02-04 21:21:29

标签: python

我创建了需要放入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

1 个答案:

答案 0 :(得分:3)

对给定信息的最佳猜测......每个循环都归结为:

lines = lines + 1

然后抛出NameError,因为lines未定义(之前称之为line)。由于您的except子句正在捕获所有异常,因此程序会将该条目静静地添加到problems并继续。

这是一个很好的例子,说明为什么你应该尽可能具体地了解你在except条款中捕获的错误。

编辑:...但我想它应该仍然在那时写入文件的行?所以......可能还需要更多的信息。但是,请务必缩小except的范围,以便更轻松地进行问题排查。