在一个文件夹中,有3000个json文件,我想将md5相同的json文件提取到同一个文件夹中,python实现
Posted 不积跬步无以至千里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个文件夹中,有3000个json文件,我想将md5相同的json文件提取到同一个文件夹中,python实现相关的知识,希望对你有一定的参考价值。
以下是一个使用Python实现的示例代码,可以将具有相同MD5哈希值的JSON文件提取到同一个文件夹中:
import os import shutil import hashlib # 用于计算文件的MD5哈希值 def calculate_md5(file_path): with open(file_path, \'rb\') as f: data = f.read() md5_hash = hashlib.md5(data).hexdigest() return md5_hash # 输入文件夹路径和目标文件夹路径 input_folder = \'/path/to/input/folder\' output_folder = \'/path/to/output/folder\' # 创建目标文件夹 if not os.path.exists(output_folder): os.makedirs(output_folder) # 存储MD5哈希值和对应文件路径的字典 md5_dict = # 遍历输入文件夹中的所有文件 for file_name in os.listdir(input_folder): file_path = os.path.join(input_folder, file_name) # 仅处理JSON文件 if file_name.endswith(\'.json\') and os.path.isfile(file_path): # 计算文件的MD5哈希值 md5_hash = calculate_md5(file_path) # 将文件路径添加到对应的MD5哈希值列表中 if md5_hash in md5_dict: md5_dict[md5_hash].append(file_path) else: md5_dict[md5_hash] = [file_path] # 提取具有相同MD5哈希值的文件到同一个文件夹中 for md5_hash, file_paths in md5_dict.items(): if len(file_paths) > 1: target_folder = os.path.join(output_folder, md5_hash) # 创建目标文件夹 if not os.path.exists(target_folder): os.makedirs(target_folder) # 将文件复制到目标文件夹中 for file_path in file_paths: shutil.copy(file_path, target_folder)
该代码会遍历输入文件夹中的所有JSON文件,计算每个文件的MD5哈希值,并将具有相同哈希值的文件提取到以哈希值命名的文件夹中。如果文件夹不存在,代码会自动创建它。
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/17433532.html,如有侵权联系删除
如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件为“sin.txt”,另一个为“cos.txt”,我想将它们分别绘制在一张图上
【中文标题】如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件为“sin.txt”,另一个为“cos.txt”,我想将它们分别绘制在一张图上【英文标题】:How to plot 2 files data separately in Gnuplot ?I have one file as "sin.txt" and other as "cos.txt" and i want to plot them separately on one graph 【发布时间】:2020-06-27 19:30:14 【问题描述】:int main()
FILE *gnuplotPipe = popen("gnuplot -persist", "w");
if (gnuplotPipe)
fprintf(gnuplotPipe, "reset \n");
fprintf(gnuplotPipe, "plot 'sin.txt' with lines linestyle 1 lw 5 lc 2 \n");
fprintf(gnuplotPipe, "replot 'cos.txt' with lines linestyle 2 lw 5 lc 2 \n");
fflush(gnuplotPipe);
fprintf(gnuplotPipe, "exit \n");
pclose(gnuplotPipe);
return 0;
// 问题是它混合了两个文件数据然后绘制。我希望两个图是分开的
【问题讨论】:
我很难理解您所说的 “单独在一个图表上” 的意思,因为 “单独” 意味着 ”在不同的图表上”。也许您可以单击edit
并添加一个示例或草图来说明结果应该是什么样的?谢谢。
这真的是一个 C++ 问题吗?手动使用gnuplot你知道怎么做吗?
分开我的意思是两个数据不应该混合。我的意思是文件“cos.txt”有自己的数据。它应该制作自己的图表。“sin.txt”有自己的数据应该绘制自己的图表。
@MarkSetchell 我试过了。但它只显示“cos.txt”和“sin.txt”仅显示 1 秒。两个图没有一起显示
尝试通过阅读这篇文章来了解如何在 shell 中执行此操作...alvinalexander.com/technology/gnuplot-charts-graphs-examples 然后适应 C++。
【参考方案1】:
“-persist”选项应该写成“--persist”或“-p”。
【讨论】:
以上是关于在一个文件夹中,有3000个json文件,我想将md5相同的json文件提取到同一个文件夹中,python实现的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件为“sin.txt”,另一个为“cos.txt”,我想将它们分别绘制在一张图上
使用 python/pandas 从特定文件夹中读取几个嵌套的 .json 文件到 excel 中