我有一个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)"
答案 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
是一个可以写入的文件。