我正在做一个项目,在这个项目中,我有很多json文件存储在一个目录中,我需要读取所有的文件并检查它们的数据。我需要读取所有的文件并检查数据。如果'sessionis
false`中的任何一个文件,我都需要删除该文件。下面是代码。
files = os.listdir(config_files_path)
for file in files:
file_path = config_files_path + '//' + file
f = open(file_path)
data = json.load(f)
if not data['session']:
# delete this file
os.remove(file_path)
在上面的代码中,我得到了所有文件的列表。然后遍历每个文件并读取其内容。data
. if not data['session']
我需要删除该文件。但这样做我得到的是 process cannot access the file as its being used by another process
. 有什么办法可以删除该文件。请帮助。谢谢你的帮助。
该错误的出现是因为该文件仍然是打开的。你必须在尝试删除它之前关闭它。所以,当你加载了数据之后,请执行以下操作 f.close()
. 像这样。
files = os.listdir(config_files_path)
for file in files:
file_path = config_files_path + '//' + file
f = open(file_path)
data = json.load(f)
f.close() # <-- close the file
if not data['session']:
# delete this file
os.remove(file_path)
你需要在删除文件之前关闭它。在os.remove(file_path)语句之前使用f.close()。