用python实现以下功能:一个文件里面存在两种格式的文件,一种是.json文件,一种是.jpg文件,现在需要删除名字相同的文件
时间: 2024-05-05 14:20:41 浏览: 8
可以使用os模块和json模块来实现文件的删除,具体实现如下:
```python
import os
import json
# 获取指定目录下的所有文件名
def get_file_names(path):
file_list = []
for root, dirs, files in os.walk(path):
for file in files:
file_list.append(os.path.join(root, file))
return file_list
# 删除重名的文件
def delete_duplicate_files(file_list):
file_dict = {}
for file in file_list:
file_name = os.path.basename(file)
if file_name.endswith('.json'):
with open(file, 'r') as f:
data = json.load(f)
file_name = data.get('name', file_name)
if file_name in file_dict:
os.remove(file)
print(f'Deleted file: {file}')
else:
file_dict[file_name] = file
if __name__ == '__main__':
file_list = get_file_names('/path/to/files')
delete_duplicate_files(file_list)
```
上述代码中,`get_file_names`函数获取指定目录下的所有文件名,`delete_duplicate_files`函数删除重名的文件。如果文件名以`.json`结尾,则解析json文件中的`name`字段作为文件名,否则使用文件名本身作为文件名。