gpt4 book ai didi

python - 如果没有手动给出参数则继续

转载 作者:行者123 更新时间:2023-11-28 21:49:03 24 4
gpt4 key购买 nike

#!/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 部分永远不会被触发。

相反,检查参数的数量如下:

if len(sys.argv) == 1:
# No arguments (except for the script name)
# ...
elif len(sys.argv) == 2:
# 1 argument
# ...

关于python - 如果没有手动给出参数则继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com