如何在脚本中修改JSON文件?

2024-05-19 02:12:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用命令行编辑Chrome的首选项。该文件是一个JSON文件,我想编辑以下数据:

{"browser":{"last_redirect_origin":""}}

^{pr2}$

我在前面使用sed命令来实现这一点,但我想知道如何使用python实现这一点。这是我使用的命令:

sed -i '.bak' -e 's|\(\"browser\"\):{\(\".*origin\":\"\"\)}|\1:{\"enabled_labs_experiments\":[\"ssl-version-max@2\"],\2}|' ~/Library/Application\ Support/Google/Chrome/Local\ State

我不能使用jq的原因是它不是mac自带的,需要安装。我不知道如何使用python实现这一点。在

如果有人能帮我解决这个问题,或者给我指明正确的方向,我将非常感激。在

编辑

我的python脚本如下所示:

import json
jsonData = json.loads(open('/Users/username/Library/Application Support/Google/Chrome/Local state').read())
if 'enabled_labs_experiments' in jsonData['browser']:
    if 'ssl-version-max@2' in jsonData['browser']['enabled_labs_experiments']:
        print('Exist')
    else:
        jsonData['browser']['enabled_labs_experiments'] = ['ssl-version-max@2']
        print('Added')

更改完成后,我要将更改提交到文件。在


Tags: 文件命令browser编辑sslversionlibraryenabled
2条回答

为什么要使用regex为什么不在python中使用内置的json模块?在

import json
d = json.loads(path_to_your_file)
d["browser"]["enabled_labs_experiments"] = ["ssl-version-max@2"]
import json
with open(path_to_json_file) as f:
    data = f.read()
d = json.loads(data)
d["browser"]["enabled_labs_experiments"] = ["ssl-version-max@2"]
with open(path_to_json_file, 'w') as f:
    f.write(json.dumps(d))

相关问题 更多 >

    热门问题