gpt4 book ai didi

python - 如何在python中检查raw_input是否为整数、字符串和日期

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:22 25 4
gpt4 key购买 nike

我想检查我的用户输入是整数、字符串还是日期。

data1 = raw_input("data = ")
print(data1)

if isinstance(data1, datetime.datetime.strptime(data1, '%Y-%m-%d')):

print("date it is")

elif isinstance(data1, int):

print("int it is")

elif isinstance(data1, basestring):
print("str it is")

但它显示:

time data '10' does not match format '%Y-%m-%d'

最佳答案

  1. datetime.datetime.strptime()如果字符串与格式不匹配,将引发 ValueError

  2. raw_input()总是返回字符串对象,所以 isinstance(data1, int)如果您在检查之前不将 data1 转换为 int 对象,则始终为 False

  3. 我建议使用 try...except像下面的代码一样捕获 ValueError:

    import datetime

    data1 = raw_input("data = ")
    print(data1)

    try:
    datetime.datetime.strptime(data1, '%Y-%m-%d')

    except ValueError:

    try:
    int(data1)

    except ValueError:
    print("str it is")

    else:
    print("int it is")
    else:
    print("date it is")

    演示:

    kevin@Arch ~> python2 input_check.py 
    data = 2014-01-02
    2014-01-02
    date it is

    kevin@Arch ~> python2 input_check.py
    data = 12
    12
    int it is

    kevin@Arch ~> python2 input_check.py
    data = foobar
    foobar
    str it is

关于python - 如何在python中检查raw_input是否为整数、字符串和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133370/

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