#!/usr/bin/python
import sys
import datetime
from datetime import timedelta
import time
date = datetime.datetime.today().weekday()
if date ==5 or date ==6:
print "Its saturday or sunday: exiting"
exit()
if sys.argv[0]: #Going Back one Day
date = datetime.date.today()
yday = date-timedelta(days=1)
mm = date.strftime("%b")
yyyy= str(yday.year)
dd = '%02d' % yday.day
#Arguments If Needed
elif sys.argv[1]:
dd=sys.argv[1][0:2]
mm=sys.argv[1][2:5]
yyyy=sys.argv[1][5:9]
date=dd+"-"+mm+"-"+yyyy
print date
如果没有手动给定系统参数,则此代码可以正常工作 但当参数给出较早的日期时,它仍然打印上一个日期
我不知道出了什么问题 请帮忙谢谢
如果我运行代码,(python a.py
)它会打印06-Dec-2015
但是如果我给出一个参数,假设(python a.py 01-Dec-2015
)它仍然打印06-Dec-2015
你的
if
陈述是错误的。您正在检查sys.argv[0]
(即脚本的名称),它的值通常为True
(因为它包含一个实际的字符串)。elif
部分永远不会被触发相反,请检查参数的数量,如下所示:
相关问题 更多 >
编程相关推荐