2016-11-14 44 views
0

我有一個JSON文件看起來像這樣:通過轉換python3 JSON到命令行字符串

with open('/tmp/pagekicker/test.json') as json_data: 
    d = json.load(json_data) 
    s = str(d) 

我現在想將其轉換爲以下字符串我加載它

{ 
    "options": { 
     "--singleseed": "Eugene Ionesco", 
     "--booktitle": "Rhinoceros" 
    } 
} 

--singleseed "Eugene Ionesco" --booktitle "Rhinoceros" 

我該怎麼做?

回答

2

迭代字典。建立一個字符串

data = { 
    "options": { 
     "--singleseed": "Eugene Ionesco", 
     "--booktitle": "Rhinoceros" 
    } 
} 

s = ' '.join('{} "{}"'.format(k, v) for k,v in data['options'].items()) 

print(s) # --singleseed "Eugene Ionesco" --booktitle "Rhinoceros" 
+0

這似乎並沒有產生值的引號,例如「Eugene Ionesco」,這很重要。 ('/ tmp/pagekicker/test.json')作爲json_data: d = json.load(json_data) s =「」 對於k,v in d ['options']。items() : s + =(2 *「{}」).format(k,v) print(s) cli = commandpath +''+ s print('cli will be'+ cli) args = shlex。拆分(CLI) 打印(參數) ' 產生 --booktitle犀牛--singleseed歐仁·尤內斯庫 –

+0

你沒有複製我更新的代碼 –

+0

THX - 沒看到更新! –