Python 找到两个字符串的差异
在 Python 中,我们可以使用 difflib 模块来比较两个字符串并找出它们之间的差异。difflib 模块提供了一个 Differ 类,它可以逐行比较两个字符串,并生成一个差异报告。
下面是一个示例代码,展示如何使用 difflib 来找到两个字符串的差异:
实例
import difflib
def find_string_differences(str1, str2):
differ = difflib.Differ()
diff = differ.compare(str1.splitlines(), str2.splitlines())
return 'n'.join(diff)
str1 = """Hello world!
This is a test.
Python is fun."""
str2 = """Hello world!
This is a test.
Python is awesome."""
differences = find_string_differences(str1, str2)
print(differences)
def find_string_differences(str1, str2):
differ = difflib.Differ()
diff = differ.compare(str1.splitlines(), str2.splitlines())
return 'n'.join(diff)
str1 = """Hello world!
This is a test.
Python is fun."""
str2 = """Hello world!
This is a test.
Python is awesome."""
differences = find_string_differences(str1, str2)
print(differences)
代码解析:
import difflib:导入difflib模块,该模块提供了用于比较序列的工具。differ = difflib.Differ():创建一个Differ对象,用于比较两个字符串。diff = differ.compare(str1.splitlines(), str2.splitlines()):使用Differ对象的compare方法来比较两个字符串的每一行。splitlines()方法将字符串按行分割成列表。return 'n'.join(diff):将比较结果拼接成一个字符串并返回。str1和str2:定义两个要比较的字符串。differences = find_string_differences(str1, str2):调用find_string_differences函数来获取两个字符串的差异。print(differences):打印差异结果。
输出结果:
Hello world! This is a test. - Python is fun. + Python is awesome.
输出结果中,- 表示第一个字符串中的内容,+ 表示第二个字符串中的内容。在这个例子中,Python is fun. 被替换为 Python is awesome.。
Python3 实例
点我分享笔记