打印和格式化输出
我有一个简单的脚本:
now = datetime.datetime.now()
print "%d%d%d%d%d" % ( now.year, now.month, now.day, now.hour, now.minute )
结果:
20111124149
如何得到这个结果:
201111241409
?
4 个回答
1
这段代码是用来处理一些特定的任务的。它可能涉及到一些数据的操作,比如读取、修改或者存储信息。具体来说,代码块中的内容会按照一定的逻辑顺序执行,帮助程序完成它的目标。
如果你对代码的具体功能有疑问,可以尝试逐行分析,看看每一行代码在做什么。这样可以帮助你更好地理解整个程序的运行过程。
记住,编程就像是给计算机下指令,指引它完成你想要的事情。多练习,多尝试,你会越来越熟悉这些代码的含义。
now = datetime.datetime.now()
print "%d%02d%02d%02d%02d" % (now.year, now.month, now.day, now.hour, now.minute)
7
第一种方法:用 %02d
替代 %d
。这样可以在数字前面加零,确保总宽度为两位。
print "%02d%02d%02d%02d%02d" % (now.year, now.month, now.day, now.hour, now.minute)
第二种方法,更正确的做法:使用 datetime.strftime
。
print now.strftime('%Y%m%d%H%M')
关于格式字符串的解释,可以查看 Python 文档中的 strftime()
和 strptime()
的行为。
4
指定数字的宽度为两位,并且用零填充:
now = datetime.datetime.now()
print "%04d%02d%02d%02d%02d" % ( now.year, now.month, now.day, now.hour, now.minute )
如果我们把其中一个部分拆解开来,可以得到:
%
表示一个替换目标的开始。0
表示结果要用零填充。2
表示结果的宽度应该是2个字符。d
表示这是一个十进制的数值。