前提,有txt或类似此txt文件如下:
{'name': 'human', 'id': 1} {'name': 'sneakers', 'id': 2} {'name': 'chair', 'id': 3} {'name': 'hat', 'id': 4} {'name': 'lamp', 'id': 5} {'name': 'bottle', 'id': 6} {'name': 'cabinet/shelf', 'id': 7} {'name': 'cup', 'id': 8} {'name': 'car', 'id': 9} {'name': 'glasses', 'id': 10} {'name': 'picture/frame', 'id': 11} {'name': 'desk', 'id': 12} {'name': 'handbag', 'id': 13} {'name': 'street lights', 'id': 14} {'name': 'book', 'id': 15} {'name': 'plate', 'id': 16} {'name': 'helmet', 'id': 17} {'name': 'leather shoes', 'id': 18} {'name': 'pillow', 'id': 19} {'name': 'glove', 'id': 20} {'name': 'potted plant', 'id': 21} {'name': 'bracelet', 'id': 22} {'name': 'flower', 'id': 23} {'name': 'monitor', 'id': 24} {'name': 'storage box', 'id': 25} {'name': 'plants pot/vase', 'id': 26} {'name': 'bench', 'id': 27} {'name': 'wine glass', 'id': 28} {'name': 'boots', 'id': 29}
此时想以字典形式读取此文件可借助关键字eval
处理过程如下
with open("object365_dict.txt", 'r') as fs:
with open("object365_dict2.txt", 'w') as f:
for line in fs:
# line["id"] str()处理是因为文件中id为int
f.write(str(eval(line)["id"]) + ":" + eval(line)["name"] + "\n")
print(eval(line)["name"])
简单的提供一个思路,起到抛砖引玉的作用。如有错误,还望斧正海涵。