簡體   English   中英

如何在python中的同一行print(json.dumps(i['name']))中打印多個打印語句

[英]how to print multiple print statements in same line print(json.dumps(i['name'])) in python

我有下面的python代碼,我想將所有打印語句轉移到文件中的一行中

import os
import requests
import json
import sys
with open('/home/yu/viewsLogdna.json') as f:
data=json.load(f)
 for i in data:
  if 'channels' in i:
    temp = i['channels'][0]
    if 'alertid' in temp:
        temp.pop('alertid')
for i in data:
 if "channels" in i.keys():
    print(json.dumps(i['name']))
    print(json.dumps(i['apps']))
    print(json.dumps(i['channels']))

輸出應如下所示

    name|apps|channels
 

關於什么:

print(json.dumps(i['name']), 
      json.dumps(i['apps']), 
      json.dumps(i['channels']), 
      sep='|')

默認情況下, print將打印參數之間的空格。 sep參數用您想要的符號(或字符串)覆蓋它。

一種選擇是csv模塊,它是為這種輸出而設計的; 盡管名稱如此,但它可以使用任何分隔符。

w = csv.writer(f, delimiter='|')
for i in data:
 if "channels" in i.keys():
    w.writerow(
        json.dumps(i['name']),
        json.dumps(i['apps']),
        json.dumps(i['channels']),
    )

(根據數據結構和所需的文件格式, csv.writercsv.DictWriter可能更方便。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM