簡體   English   中英

將 JSON 的文件路徑保存為 Python 中的對象

[英]Saving file paths to JSON as objects in Python

我有一個看起來像這樣的文件:

[["/home/onur/PycharmProjects/file-tagging/data/world_building_budget.txt", []], ["/home/onur/PycharmProjects/file-tagging/data/data3/world_elements.png", []], ["/home/onur/PycharmProjects/file-tagging/data/data3/data4/world.bmp", []], ["/home/onur/PycharmProjects/file-tagging/data/data2/world_files.pdf", []], ["/home/onur/PycharmProjects/file-tagging/data/world_saving_budget.jpg", []], ["/home/onur/PycharmProjects/file-tagging/a.txt", []], ["/home/onur/PycharmProjects/file-tagging/venv/.gitignore", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/_virtualenv.pth", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/six-1.16.0.dist-info/LICENSE", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/six-1.16.0.dist-info/WHEEL", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/six-1.16.0.dist-info/RECORD", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/six-1.16.0.dist-info/INSTALLER", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/six-1.16.0.dist-info/top_level.txt", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/six-1.16.0.dist-info/METADATA", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/tzfile.py", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/__pycache__/tzfile.cpython-39.pyc", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/__pycache__/__init__.cpython-39.pyc", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/__pycache__/tzinfo.cpython-39.pyc", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/__pycache__/lazy.cpython-39.pyc", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/__pycache__/reference.cpython-39.pyc", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/__pycache__/exceptions.cpython-39.pyc", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/zoneinfo/CET", []], ["/home/onur/PycharmProjects/file-tagging/venv/lib/python3.9/site-packages/pytz/zoneinfo/Israel", []], 
...

我正在用這個 for 循環填充文件:

import json

data_list = [...]

data_list[:] = [[i, []] for i in data_list]

with open('content-log.json', 'a+') as json_file:
    json.dump(data_list, json_file)

這就是我想要做的。

對於每條路徑,我都希望有一個對應的列表。 該列表將帶有標簽。 這些標簽可以隨意添加和刪除。 例如。 此路徑可能如下所示:

"/home/onur/PycharmProjects/file-tagging/data/world_building_budget.txt", []

或者它可能看起來像這樣:

"/home/onur/PycharmProjects/file-tagging/data/world_building_budget.txt", [tag1, tag2, tag3]

我希望能夠隨意找到一條路徑及其對應的標簽。 我怎么能go做這個呢?

編寫一個 json 文件:

data = {
    "/some/path": ["tag1", "tag2"],
    "/other/path": [],
    "/different/path": ["tag3", "tag4", "tag5"]
}

with open('content-log.json', 'w') as f:
    json.dump(data, f)

從 json 文件中讀取:

with open('content-log.json') as f:
    data = json.load(f)

暫無
暫無

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

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