我继承了包含以下内容的python代码:
import time
import datetime
stamp = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S.%f')
stamp = stamp[0:19] #trim to seconds
print "\n%s\n" %stamp
对于返回当前日期和时间,第三条指令行似乎异常冗长且冗长:
虽然它有效但是有没有更短的指令来执行任务?
答案 0 :(得分:3)
<强>更新强>
有这个:
# while more concise now you have to deal with time zones
stamp = str(datetime.utcnow())[0:19]
否则:
您可以准确导入所需的内容,以消除部分冗余。
from time import time
from datetime import datetime
您也可以定义FORMAT
来缩短它。它的另一个好处是略微更明确。如果你是那种东西。您可能会发现原始版本更明确。它可以采取任何一种方式。
FORMAT = '%Y-%m-%d %H:%M:%S.%f'
stamp = datetime.fromtimestamp(time()).strftime(FORMAT)[0:19]
你可能会问是否有一些你可以做的事情:
stamp = datetime_timestamp(FORMAT)
你可以滚动这样的东西:
def datetime_timestamp(format):
return datetime.fromtimestamp(time()).strftime(format)[0:19]
然后你可以打电话给:
stamp = datetime_timestamp(FORMAT)
不确定是否有更优雅的方式来做到这一点。如果没有那么你就是这个的老板。