面临错误 ValueError: month out of range。请告诉我原因以及如何修复错误。简单说一下脚本的含义:我们输入月、日、年,我们在输出端得到一个一定格式的数据对象。然后我将添加脚本以仅显示星期几,而不显示输入的数据。
%%writefile day_finder.py
import time, datetime
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("month", type = int, help = "Month as a number (1, 12)")
parser.add_argument("day", type = int, help = "Day as a number (1, 31) depending on the month")
parser.add_argument("year", type = int, help = "Year as a 4 digits number (2018)")
parser.add_argument("-c", "--complete", action = 'store_true', help = "Show complete formatted date")
args = parser.parse_args()
d = ()
d = (args.month, args.day, args.year, 0, 0 , 0 , 0, 0, 0)
date_v = time.strftime("%m,%d,%Y", d)
print (date_v)
运行脚本:
%%bash
python3 day_finder.py 12 31 2017
要确定日期,请使用
datetime
(据我了解,这更适合您的任务),为此您需要格式为 3 个输入参数int
- 年、月和日,顺序很严格:您是否尝试过形成一个元组并使用
time
. 您有一个具有以下结构的元组:执行时
date_v = time.strftime("%m,%d,%Y", (9, 16, 2018, 0, 0, 0, 0, 0, 0))
,您会收到第 16 个月未发生的错误。在某些情况下,该命令会起作用(例如,12 - 将是 2012),但结果可能是错误的:通过严格的年、月、日等指示进行编辑。那些。在格式化方面,你可以随意指定,但你不需要调整元组——它就在那里。