问题
运行测试用例时,出现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")