gpt4 book ai didi

python - time.strptime() 的返回值

转载 作者:行者123 更新时间:2023-12-01 04:59:41 24 4
gpt4 key购买 nike

我在 Python 程序中使用 t = time.strptime() 并希望检查它是否无法返回有效的结构。

当我用 C 编程时,我常常检查返回值 NULL 以指示进行了无效调用。然而这在 Python 中似乎不起作用。我还检查了 not t-1。我在此阶段尝试做的是检查用户是否输入了无效的日期时间,而不单独检查每个字段是否有 31/02/2014 等错误。

如何查看返回值?

最佳答案

Python 使用exceptions传达错误的输入。如果 time.strptime() 没有引发异常,则返回值是正确的,您无需自己验证。

如果引发异常,您可以使用 try... except 语句捕获它:

try:
t = time.strptime(userinput, format)
except ValueError:
# exception raised, not valid input, give feedback to user

演示:

>>> import time
>>> time.strptime('01/02/2014 10:42:36', '%d/%m/%Y %H:%M:%S')
time.struct_time(tm_year=2014, tm_mon=2, tm_mday=1, tm_hour=10, tm_min=42, tm_sec=36, tm_wday=5, tm_yday=32, tm_isdst=-1)
>>> time.strptime('31/02/2014 10:42:36', '%d/%m/%Y %H:%M:%S')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mpietre/Development/Library/buildout.python/parts/opt/lib/python3.4/_strptime.py", line 494, in _strptime_time
tt = _strptime(data_string, format)[0]
File "/Users/mpietre/Development/Library/buildout.python/parts/opt/lib/python3.4/_strptime.py", line 465, in _strptime
datetime_date(year, 1, 1).toordinal() + 1
ValueError: day is out of range for month

请注意,此处引发了异常,因为 31 超出了二月的有效天数范围。

关于python - time.strptime() 的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26545287/

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