将条件语句的输出写入嵌套循环python中的文件

时间:2018-12-03 09:10:28

标签: python python-2.7 file while-loop

我有一个with循环,在其中打开两个json文件并在循环中进行特定比较。我有各种条件语句,根据要满足的条件,我想将结果输出到文件中。现在,我不确定在for循环中哪一个适合。我目前在循环中有连接字符串和变量的print语句。我想替换为写入文件。

with open('file1.json', 'r') as f, open('file2.json', 'r') as g:
    for cd, pd in zip(f, g):
        if condition:  
            if condition:
                print "I would like to output this to a file":
            else: 
                print "I would like to output this to a file"
        else:  # file names do not match
            print "I would like to output this , str(variable)"

1 个答案:

答案 0 :(得分:0)

您的问题似乎仅仅是如何动态构建字符串,以便可以将其写入文件。至少有两种基本方法可以做到这一点:

  • 连接字符串的各个部分:

    text = "File: " + str(current_fn) + ", line: " + str(line_number)

  • 使用字符串格式:

    text = "File: {}, line: {}".format(current_fn, line_number)(新样式)或

    text = "File: %s, line: %s" % (current_fn, line_number)(旧式)或

    text = "File: {filename}, line: {line_number}".format(filename=current_fn, line_number=line_number)(具有命名插值的新型样式)

您还可以将命名参数与旧格式一起使用,如果您使用Python 3而不是Python 2,也可以使用f字符串。

然后,当然要编写消息: h.write(text),如果h是一个可以写入的文件。