gpt4 book ai didi

python - 如果发生异常,则移除 JSON 文件

转载 作者:太空狗 更新时间:2023-10-30 00:15:45 24 4
gpt4 key购买 nike

我正在编写一个程序,将一些 JSON 编码的数据存储在一个文件中,但有时生成的文件是空白的(因为没有找到任何新数据)。当程序找到数据并存储它时,我这样做:

with open('data.tmp') as f:
data = json.load(f)
os.remove('data.tmp')

当然,如果文件是空白的,这将引发异常,我可以捕捉到异常,但不允许我删除文件。我试过:

try:
with open('data.tmp') as f:
data = json.load(f)
except:
os.remove('data.tmp')

我得到这个错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "MyScript.py", line 50, in run
os.remove('data.tmp')
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process

异常时如何删除文件?

最佳答案

如何将文件读取和 json 加载分开? json.loads 的行为与 json.load 完全相同,但使用的是字符串。

with open('data.tmp') as f:
dataread = f.read()
os.remove('data.tmp')

#handle exceptions as needed here...
data = json.loads(dataread)

关于python - 如果发生异常,则移除 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54056109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com