我想从每个组写出不同的文本文件;我该怎么办呢?目前它正在将所有内容写入一个txt文件。
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')
它将每个内容写入列表中,并在每行下的单独文件中写入。
答案 0 :(得分:1)
您只是打印,而不是在您的示例中写入文件。 另外,如果有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文件对象文档:
http://docs.python.org/2/library/functions.html?highlight=open#file http://docs.python.org/2/library/stdtypes.html#bltin-file-objects
另请注意,此解决方案不是类型安全的,应注意确保将字符串传递给文件对象的write方法。