Python 如何从单个输出打印多个txt文件
我想从每个组编写不同的文本文件;我该怎么做呢?目前它正在将所有内容写入一个txt文件Python 如何从单个输出打印多个txt文件,python,Python,我想从每个组编写不同的文本文件;我该怎么做呢?目前它正在将所有内容写入一个txt文件 data = json.loads(output) print "===========================Example 1=======================================" for issue in data["issues"]: print issue ['key'], issue['fields']['summary'] data = json.loa
data = json.loads(output)
print "===========================Example 1======================================="
for issue in data["issues"]:
print issue ['key'], issue['fields']['summary']
data = json.loads(output1)
print"======================Example 2===================================="
for issue in data["issues"]:
print issue ['key'], issue['fields']['summary']
data = json.loads(output2)
print"====================== Example 3===================================="
for issue in data["issues"]:
print issue ['key'], issue['fields']['summary']
data = json.loads(output3)
print"======================Example 4===================================="
for issue in data["issues"]:
print issue ['key'], issue['fields']['summary']
data = json.loads(output4)
print"======================Example 5===================================="
for issue in data["issues"]:
print issue ['key'], issue['fields']['summary']
这就是我解决这个问题的方法:
for issue in data["issues"]:
f.write(issue ['key'])
f.write(issue['fields']['summary'])
f.write('\n')
它将所有内容写入一个列表和每行下的单独文件中。在您的示例中,您只是在打印,而不是写入文件。 另外,如果有100个输出,您会怎么做 简化解决方案的伪代码示例:
output1 = {...}
outputs = (output1, output2, output3)
for index, output in enumerate(outputs):
filename = 'output_data_{0}'.format(index)
#this will write file in directory relative to script location
with open(filename, 'w') as f:
f.write('Example {0}:\r\n'.format(index))
for issue in data["issues"]:
# assumes issue is of type dict
# assumes issues has appropriate keys
# assumes values are of string type
key = issue['key']
summary = issue['fields']['summary']
f.writelines((key, summary, "\r\n",))
对于Python文件对象文档:
另外,请注意,此解决方案不是类型安全的,应注意确保将字符串传递给文件对象的写入方法。提示:字符串、连接、将字符串写入文件如果我下面的回答正确回答了您的问题,请将此问题标记为已回答。否则,请进一步详细说明。很好,+1。一些提示:
write
只接受一个参数(no,
类似于print
);在写入问题后添加“\n”;您可以将json
调用包含到循环中(data
从未创建);最好使用带有open(…)的作为f
。感谢您的输入。我知道我的代码是重复的,我会努力把它缩短。很好地抓住托比亚斯<代码>写入线方法将是在这种情况下实现的正确方法。我将更新我的示例以反映这一点,新的行字符和语句。谢谢.missing)
在f.write
之后,并且writelines
接受一个参数,这是一个序列。在这里,您将向它传递三个数组-这将导致一个错误。@BurhanKhalid我修复了该示例,以便writelines
现在被传递一个元组。请注意,该示例旨在使用伪代码。