問題
運行測試用例時,出現ValueError: Invalid format string
的錯誤,代碼大致如下:
from datetime import date
....
current = date.today()
return current.strftime("%-m/%-d/%Y")
原因
開發此代碼的時候是在mac上開發的,并且再Ubuntu的服務器上運行也沒有問題, 出現此問題是在windows平臺上運行報的錯,windows上%-m
寫法不正確,應該用%#m
解決
判斷當前平臺來執行對應的代碼
if os.name == "nt": # windowsreturn value.strftime("%#m/%#d/%Y")elif os.name == "posix": # mac, linuxreturn value.strftime("%-m/%-d/%Y")else:logging.info("Unknown platform")