我想使用Shell脚本将格式化(即缩进)的JSON配置文件写入远程计算机。
我的代码:
json_config = {
"api-listen": true,
"api-network": true,
"multi-version": "1",
"pools": [
{
"pass": "123",
"url": "antpool.com:3333"
},
{
"pass": "123",
"url": "antpool.com:443"
},
{
"pass": "123",
"antpool.com:25"
}
]
}
# format the new configuration
json_config_formatted = json.dumps(json.dumps(json_config), indent=4)
# write the new config
connection.sendShell('echo "{}" | cat > "/config/bmminer.conf"'.format(json_config_formatted))
但是,所有内容都写在一行上。如何保留字符串的格式?
答案 0 :(得分:0)
首先,您要调用json.dumps两次,所以要制作一个本身包含JSON的JSON字符串。
第二,您应该使用Python而不是Shell编写文件。
json_config = {
...
}
# format the new configuration
with open("/config/bmminer.conf", "w") as conf:
json.dump(json_config, conf, indent=4)
对于远程计算机,如何正确地在那里获取数据取决于您的磁带库。我不知道sendShell
是什么。