比較兩個.py指令碼的差別
阿新 • • 發佈:2018-12-29
問題:
- 如何顯示兩個python指令碼的差別
# fib_version_1.py
def fib(n):
if n <= 1:
return n, 1
else:
a, b = fib(n-1)
return a+b, a
def print_fib(n):
for i in range(n):
print(fib(i))
print_fib(10)
# fib_version_2.py
def fib(n):
if n <= 1:
return 1
else:
result = fib(n-1) + fib(n-2)
return result
for i in range(10):
print(fib(i))
解決方法:
- 內建的
difflib
模組,很多相關類及函式,如:HtmlDiff()類
import difflib
file_1=open('fib_version_1.py','r',encoding='utf-8').readlines()
file_2=open('fib_version_2.py','r',encoding='utf-8').readlines( )
d=difflib.HtmlDiff()
results=d.make_file(file_1,file_2) # 返回HTML形式的比較字串
with open('results.html','w') as file:
file.write(results) # 將比較結果儲存在results.html檔案中
結果:
開啟結果results.html
檔案: