Python for循环未在第一次迭代后传递变量

时间:2019-02-08 16:48:54

标签: python python-3.x for-loop

我正在尝试将三个.txt文件合并在一起。第一个文件包含应位于页面顶部的一行,第二行应包含第一个客户的发票信息,然后是发票中的详细信息。每个ID的范围都在31625和31643之间。程序应查看第一个文件,导入第一行,然后从第二个文件导入第一行,然后返回具有31625键的任何详细信息,然后移至第二个第二个.txt文件的行。等等。 第二个.txt文件和第三个.txt文件都具有密钥。

我写了一个python脚本,插入了第一行, 然后从第二个.txt文件中插入第一行,然后从具有31625键的3 .txt文件中找到所有内容,但在此位置停止。我如何遍历每个密钥?

import sys

initial = open(r"dir:text1.txt","a+")

export = open(r"dir:text2.txt","r+")

invoice = open(r"dir:text3.txt3","r+")

detail = open(r"dir:text4.txt","r+")


for line in export:
    initial.write(line)


def inv_insert(a):
    for line in invoice:
        if str(a) in line:
            initial.write(line)

def det_insert(a):
    for line in detail:
        if str(a) in line:
            initial.write(line)


def exp_insert():
    for line in export:
        initial.write(line)

exp_insert()
for i in range(31625,31644):
    inv_insert(i)
    det_insert(i)

initial.close()
export.close()
invoice.close()
detail.close()

1 个答案:

答案 0 :(得分:0)

欢迎fcha256,您的代码未正确设置为python格式。我还没有运行此程序,但是您应该从这样的正确格式开始,然后对代码进行故障排除:

    import sys

    initial = open(r"dir:text1.txt","a+")
    export = open(r"dir:text2.txt","r+")
    invoice = open(r"dir:text3.txt3","r+")
    detail = open(r"dir:text4.txt","r+")


    def inv_insert(a):
      for line in invoice:
        if str(a) in line:
          initial.write(line)


    def det_insert(a):
      for line in detail:
        if str(a) in line:
          initial.write(line)


    def exp_insert():
      for line in export:
        initial.write(line)


    exp_insert()

    for i in range(31625,31644):
      inv_insert(i)
      det_insert(i)


    initial.close()
    export.close()