以下是一个使用Python比较10个文件与模板文件的示例代码:
import difflib
def compare_files(file_path, template_path):
# 读取文件内容
with open(file_path, 'r') as file:
file_content = file.readlines()
with open(template_path, 'r') as template:
template_content = template.readlines()
# 使用difflib模块的SequenceMatcher类比较文本差异
diff = difflib.SequenceMatcher(None, file_content, template_content)
similarity = diff.ratio()
return similarity
# 模板文件路径
template_file = 'template.txt'
# 10个待比较文件路径
files = ['file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', 'file5.txt', 'file6.txt', 'file7.txt', 'file8.txt', 'file9.txt', 'file10.txt']
for file in files:
similarity = compare_files(file, template_file)
print(f"{file}与模板文件的相似度:{similarity}")
在上述代码中,我们首先定义了一个compare_files
函数,该函数接受两个参数:待比较文件的路径和模板文件的路径。函数中,我们使用open
函数打开文件,并使用readlines
方法读取文件内容。然后,我们使用difflib
模块的SequenceMatcher
类创建一个比较对象,并使用ratio
方法计算相似度。
接下来,我们定义了一个模板文件的路径和10个待比较文件的路径。然后,通过循环遍历每个待比较文件,调用compare_files
函数比较文件与模板文件的相似度,并打印结果。
请注意,上述示例中使用的是difflib
模块的SequenceMatcher
类来比较文本差异。根据实际需求,你可能需要调整比较的算法或使用其他相似度度量方法。