删除 Python 中的文件时出现错误 "Process cannot access file"
Getting error "Process cannot access file" while deleting file in Python
我正在做一个项目,我在一个目录中存储了很多 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
。有什么办法可以删除文件。请帮忙。谢谢
您需要先关闭该文件,然后再删除它。
在 os.remove(file_path) 语句
之前使用 f.close()
出现错误是因为文件仍处于打开状态。在尝试删除它之前,您必须关闭它。因此,在加载数据后,执行 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)
我正在做一个项目,我在一个目录中存储了很多 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
。有什么办法可以删除文件。请帮忙。谢谢
您需要先关闭该文件,然后再删除它。 在 os.remove(file_path) 语句
之前使用 f.close()出现错误是因为文件仍处于打开状态。在尝试删除它之前,您必须关闭它。因此,在加载数据后,执行 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)