【小技巧】python print方法重寫
阿新 • • 發佈:2020-08-19
print方法的引數
print方法的引數:(在python3的命令列執行help(print)就可以看到)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
將 value 列印到一個輸出流,預設的輸出流為 sys.stdout。
可選引數有:
file: 使用一個檔案物件作為輸出目標,預設值為當前輸出流 sys.stdout;
sep: 輸出的多個 value 之間的分隔符,預設為一個空格;
end: 完成所有 value 的輸出之後在其後新增的字元,預設為 \n 換行符;
flush: 布林值,是否立即重新整理緩衝區,即立刻將資料寫入到磁碟檔案;
關於flush,還有一點要說,預設情況下,flush 值為 False,這時只有當緩衝區滿,作業系統才會將資料寫入檔案中。
而close,也是在內部先呼叫 flush 方法來重新整理緩衝區,再執行關閉操作,這樣即使緩衝區沒有滿,也可以強制寫入資料,保證了資料的完整性。
如果程序意外退出或正常退出時為close檔案物件,快取區的內容將會丟失。
舉例:重寫print方法為log_print
# 重寫log_print方法,加入時間資訊 def log_print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False): print("當前時間:" + datetime.now().strftime('%Y-%m-%d %H:%M:%S')) # 這樣每次呼叫log_print()的時候,會先輸出當前時間,然後再輸出內容 print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)