我正在尝试编译an old 2008 code。
import datetime
if isinstance(value, datetime.date):
但我收到了一个错误:
isinstance()arg 2必须是一个类, 类和类的类型或元组 Python可执行文件:/usr/bin/python2.6 Python版本:2.6.5
我错过了什么?
答案 0 :(得分:15)
我怀疑您导入了错误的日期时间,如:
from datetime import datetime
改为使用:
import datetime
答案 1 :(得分:6)
我正在运行Python 2.7,偶尔也会遇到此错误。如果您不需要严格的实例检查,通常只需检查类型就足够了。
if id(type) and type(value) in (datetime.datetime, datetime.date):
#somecode
答案 2 :(得分:3)
为进一步说明这一点,如果datetime
是指import datetime
的模块或datetime
的{{1}}类,因为它们都具有{{1 }}属性。
在第一种情况下,from datetime import datetime
是指可以与date
一起使用的日期类:
datetime.date
在第二种情况下,isinstance
指的是datetime类的date方法,该方法不能与import datetime
type(datetime.date)
Out[13]: type
一起使用,因此错误。
datetime.date
为避免此类错误,最好使用isinstance
明确导入和使用date类,然后使用from datetime import datetime
type(datetime.date)
Out[15]: method_descriptor
。