问题:有1个文件t1.txt数据格式是json。
有另外1个文件t2.txt是key1111,key2222。把对应在t1.txt中的值删掉,有什么好办法么?
思路1:1条shell命令
cat t1.txt | python -c ‘import sys,json; a=json.load(sys.stdin);del a["jobs"]["1111"];del a["jobs"]["2222"];print a‘
sed ‘/1111\|2222/,+3d‘ t1.txt
思路2:用python脚本删,把t1赋给1个字典型的变量,把t2给一个list变量,循环读取变量元素作为key,直接删除t1对应的值。
主要是string转换为dict或者json文件直接转换为dict。
1)# 使用json模块直接把文件转换为字典值。
#https://docs.python.org/3/library/json.html
#!/usr/bin/env python
importjsondefconvertDict():
with open(‘t1.txt‘) as json_file:
data=json.load(json_file)returndataif __name__ == "__main__":
fileToDict=convertDict()
keyList= ["key1111","key2222"]for k inkeyList:del fileToDict["jobs"][k]print json.dumps(fileToDict)