Python 清空JSON文件

Python 清空JSON文件,python,json,Python,Json,我想完全清空一个JSON文件,同时仍然保留该文件。我该怎么做?我试过: with open("Screentime/activities.json", "w") as f: json.dump("", f, indent=4, sort_keys=True) ,等等,但都不起作用。请帮帮我!我看到了如何删除JSON中的键或删除整个文件的答案,但没有看到如何将其替换为零。您可以在“w”模式下打开和关闭文件: open('Scre

我想完全清空一个JSON文件,同时仍然保留该文件。我该怎么做?我试过:

with open("Screentime/activities.json", "w") as f:
    json.dump("", f, indent=4, sort_keys=True)

,等等,但都不起作用。请帮帮我!我看到了如何删除JSON中的键或删除整个文件的答案,但没有看到如何将其替换为零。

您可以在“w”模式下打开和关闭文件:

open('Screentime/activities.json', 'w').close()
这将完全删除文件中的任何内容。换句话说,您的文件将是空的


编辑:虽然此答案确实提供了OP要求的结果,但应注意,空文件不是有效的JSON文件。可以找到更多详细信息。

您只需在“w”模式下打开和关闭文件即可:

open('Screentime/activities.json', 'w').close()
这将完全删除文件中的任何内容。换句话说,您的文件将是空的


编辑:虽然此答案确实提供了OP要求的结果,但应注意,空文件不是有效的JSON文件。可以找到更多详细信息。

您如何知道
它们都不起作用
?没有所谓的“空JSON文件”–只有一个空文件。一旦您将JSON写入其中,它就不再是空的!您想要的是一个零长度的文件,还是您现有的JSON具有空值?@quamrana不完全正确。单个字符串、数字或布尔值也被视为有效的json。这是一个在线验证器。这里有一些很好的答案。如果您尝试使用python
json
module读取带有空字符串“”或数字的文件,则不会引发异常。因此,至少python实现接受了与
{}
[]
不同的内容。我的回答显然没有创建一个有效的JSON:)OP对此不是很清楚。@quamrana不,我指的是ECMA-404标准。正如您在规范中所读到的“JSON值可以是对象、数组、数字、字符串、true、false或null。”(别担心,我对投票不感兴趣,只是好奇,因为在写这个答案之前,我对有效JSON中的cornercase一无所知,多亏了您的有用评论,我现在正在读一些东西:))你怎么知道它们都不起作用呢??没有所谓的“空JSON文件”——只有一个空文件。一旦您将JSON写入其中,它就不再是空的!您想要的是一个零长度的文件,还是您现有的JSON具有空值?@quamrana不完全正确。单个字符串、数字或布尔值也被视为有效的json。这是一个在线验证器。这里有一些很好的答案。如果您尝试使用python
json
module读取带有空字符串“”或数字的文件,则不会引发异常。因此,至少python实现接受了与
{}
[]
不同的内容。我的回答显然没有创建一个有效的JSON:)OP对此不是很清楚。@quamrana不,我指的是ECMA-404标准。正如您在规范中所读到的“JSON值可以是对象、数组、数字、字符串、true、false或null。”(别担心,我对投票不感兴趣,只是好奇,因为在写这个答案之前,我对有效JSON中的cornercase一无所知,多亏了您的有用评论,我现在正在读一些东西:)