next-dict


Namenext-dict JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
Summaryjson dict and config file manager
upload_time2024-03-20 13:18:05
maintainerNone
docs_urlNone
authorAlbert
requires_python>=3.6.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
class NextConfigManager:
pass

```python
manager = NextConfigManager("config.json")
config = manager.config
# 更改属性
config.a = 'hh'
config.b = 1
# json不能序列化的对象会被转为字符串 {"a": "hh", "b": 1, "c": "<class '__main__.JsonDictManager'>"}
config['c'] = JsonDictManager
config[111] = '非常牛逼'
config['111'] = '非常牛逼2'
# 获取属性,可使用.或者[]
print(config.c)  # 输出 <class '__main__.JsonDictManager'>
print(config['c'])  # 输出 <class '__main__.JsonDictManager'>
# 获取key为hh的值,为空返回1
print(config.get('hh', 1))
print(config)
# ccc属性不存在,自动新建空字典
config.ccc.ddd = 1
config.arr = []
config.arr.append(1)
# 添加字典会被自动转换为另一个config对象,继承访问方式和修改方式
config.obj = {}
config.obj.c = 1
print('objh', config.obj)
config.obj.d = '牛逼不'
# 不存在的属性连续调用不会报错,而是返回false
if not config.xxx.bbb.ccc.ddd:
    print('hh')
print(config)
# 默认python进程关闭后自动save()
# manager.save()

# instant_save=True开启后,任何属性更改后立即自动save一次
# manager = NextConfigManager("config.json", instant_save=True)
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "next-dict",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Albert",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/5d/0c/4db8ec7d22194ba894ac0a2eeea025a4fd2f1a1188106e1b6be934a7c795/next_dict-0.2.0.tar.gz",
    "platform": null,
    "description": "\r\nclass NextConfigManager:\r\npass\r\n\r\n```python\r\nmanager = NextConfigManager(\"config.json\")\r\nconfig = manager.config\r\n# \u66f4\u6539\u5c5e\u6027\r\nconfig.a = 'hh'\r\nconfig.b = 1\r\n# json\u4e0d\u80fd\u5e8f\u5217\u5316\u7684\u5bf9\u8c61\u4f1a\u88ab\u8f6c\u4e3a\u5b57\u7b26\u4e32 {\"a\": \"hh\", \"b\": 1, \"c\": \"<class '__main__.JsonDictManager'>\"}\r\nconfig['c'] = JsonDictManager\r\nconfig[111] = '\u975e\u5e38\u725b\u903c'\r\nconfig['111'] = '\u975e\u5e38\u725b\u903c2'\r\n# \u83b7\u53d6\u5c5e\u6027,\u53ef\u4f7f\u7528.\u6216\u8005[]\r\nprint(config.c)  # \u8f93\u51fa <class '__main__.JsonDictManager'>\r\nprint(config['c'])  # \u8f93\u51fa <class '__main__.JsonDictManager'>\r\n# \u83b7\u53d6key\u4e3ahh\u7684\u503c,\u4e3a\u7a7a\u8fd4\u56de1\r\nprint(config.get('hh', 1))\r\nprint(config)\r\n# ccc\u5c5e\u6027\u4e0d\u5b58\u5728,\u81ea\u52a8\u65b0\u5efa\u7a7a\u5b57\u5178\r\nconfig.ccc.ddd = 1\r\nconfig.arr = []\r\nconfig.arr.append(1)\r\n# \u6dfb\u52a0\u5b57\u5178\u4f1a\u88ab\u81ea\u52a8\u8f6c\u6362\u4e3a\u53e6\u4e00\u4e2aconfig\u5bf9\u8c61,\u7ee7\u627f\u8bbf\u95ee\u65b9\u5f0f\u548c\u4fee\u6539\u65b9\u5f0f\r\nconfig.obj = {}\r\nconfig.obj.c = 1\r\nprint('objh', config.obj)\r\nconfig.obj.d = '\u725b\u903c\u4e0d'\r\n# \u4e0d\u5b58\u5728\u7684\u5c5e\u6027\u8fde\u7eed\u8c03\u7528\u4e0d\u4f1a\u62a5\u9519\uff0c\u800c\u662f\u8fd4\u56defalse\r\nif not config.xxx.bbb.ccc.ddd:\r\n    print('hh')\r\nprint(config)\r\n# \u9ed8\u8ba4python\u8fdb\u7a0b\u5173\u95ed\u540e\u81ea\u52a8save()\r\n# manager.save()\r\n\r\n# instant_save=True\u5f00\u542f\u540e\uff0c\u4efb\u4f55\u5c5e\u6027\u66f4\u6539\u540e\u7acb\u5373\u81ea\u52a8save\u4e00\u6b21\r\n# manager = NextConfigManager(\"config.json\", instant_save=True)\r\n```\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "json dict and config file manager",
    "version": "0.2.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58b07509216b0946d1d3cb5f2bc78164cd242d9c6e85edce56f960cf1e98a08c",
                "md5": "a2279384739b4ef2ed987a077716a132",
                "sha256": "67381fff2d6fb1b830a79a9889e780dab4147a79c7e0559022fc27459c71a371"
            },
            "downloads": -1,
            "filename": "next_dict-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a2279384739b4ef2ed987a077716a132",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6.0",
            "size": 5844,
            "upload_time": "2024-03-20T13:18:00",
            "upload_time_iso_8601": "2024-03-20T13:18:00.236852Z",
            "url": "https://files.pythonhosted.org/packages/58/b0/7509216b0946d1d3cb5f2bc78164cd242d9c6e85edce56f960cf1e98a08c/next_dict-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d0c4db8ec7d22194ba894ac0a2eeea025a4fd2f1a1188106e1b6be934a7c795",
                "md5": "44fe07668e0e1943613c9dc1105f1d70",
                "sha256": "d7d4d5d7cde1849b333232c1dd4ba7a750fc7453ffc4aa1c05d569f479fb7186"
            },
            "downloads": -1,
            "filename": "next_dict-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "44fe07668e0e1943613c9dc1105f1d70",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.0",
            "size": 5001,
            "upload_time": "2024-03-20T13:18:05",
            "upload_time_iso_8601": "2024-03-20T13:18:05.942112Z",
            "url": "https://files.pythonhosted.org/packages/5d/0c/4db8ec7d22194ba894ac0a2eeea025a4fd2f1a1188106e1b6be934a7c795/next_dict-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-20 13:18:05",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "next-dict"
}
        
Elapsed time: 0.33228s