我有一个列表,它可能是空的或非空的。强制json转储json对象,即使列表为空
我想创建一个新文件,其中包含该列表的格式是人类可读的,并易于我的下一个脚本解析。在列表非空的情况下,这工作正常,我的下一个脚本读取json文件。但是当列表为空时,我得到“ValueError:没有JSON对象可以被解码。”这是有道理的,因为当我打开文件时,确实没有内容,因此没有JSON对象。
我很确定有些列表是空的。所以,要么写一个空的JSON对象,要么我的阅读器脚本没有找到JSON对象就OK。
下面是相关代码:
作家脚本
favColor = [] OR favColor = ['blue'] OR favColor = ['blue', 'green']
fileName = 'favoriteColor.json'
outFile = open(fileName, 'w')
json.dump(outFile, favColor)
outFile.close()
阅读器脚本
fileName = 'favoriteColor.json'
inFile = open(fileName, 'r')
colors = json.load(inFile)
inFile.close()
任何帮助或建议非常赞赏。如果我需要提供更多理由来解释为什么我这样做,我也可以提供这一点,只是认为我会以最低限度的必要条件开始理解问题。
不错,很干净+1 – 2012-08-02 15:51:38
非常感谢,非常感谢,并解释了为什么“以open()as ...”为首选。我曾经听过人们说过这是最好的选择,但没有理由,它永远不会让我改变。 – rcorty 2012-08-02 16:38:01