当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在python中检查raw_input是否为整数,字符串和日期》经验,为你挑选了1个好方法。



1> Kevin Guan..:

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

    raw_input()总是返回字符串对象,所以isinstance(data1, int)总是False如果你data1在检查之前没有转换为int对象.

    我建议使用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
    

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有