1、豐富的else語句
與if:要怎樣,要么不怎么樣
與for和while:干完了能怎么樣,干不完就別想怎樣(只有在循環完成后才會執行else后的內容,如果中途break則不會執行else后的內容,用continue會執行)
與try:沒有問題,那就干吧(try語句內的檢測內容沒有問題,就執行else后的內容)
try: print('ABC') except: print('DEF') else: print('GHI') finally: print('JKL')
2、簡潔的with語句
用with語句可以讓python來關心我們打開的文件什么時候關閉,可以減少代碼量並減少犯錯
如果出現異常文件也會自動關閉!
比較兩個文件的不同
def file_compare(file1, file2): with open(file1) as f1: with open(file2) as f2: count = 0 # 統計行數 differ = [] # 統計不一樣的數量 for line1 in f1: line2 = f2.readline() count += 1 if line1 != line2: differ.append(count) return differ file1 = input('請輸入需要比較的頭一個文件名:') file2 = input('請輸入需要比較的另一個文件名:') differ = file_compare(file1, file2) if len(differ) == 0: print('兩個文件完全一樣!') else: print('兩個文件共有【%d】處不同:' % len(differ)) for each in differ: print('第 %d 行不一樣' % each)
with語句處理多個項目時可以用逗號隔開寫成一條語句
def file_compare(file1, file2): with open(file1) as f1, open(file2) as f2: count = 0 # 統計行數 differ = [] # 統計不一樣的數量 for line1 in f1: line2 = f2.readline() count += 1 if line1 != line2: differ.append(count) return differ file1 = input('請輸入需要比較的頭一個文件名:') file2 = input('請輸入需要比較的另一個文件名:') differ = file_compare(file1, file2) if len(differ) == 0: print('兩個文件完全一樣!') else: print('兩個文件共有【%d】處不同:' % len(differ)) for each in differ: print('第 %d 行不一樣' % each)