AttributeError:“datetime”模块没有属性“strptime”

Posted

技术标签:

【中文标题】AttributeError:“datetime”模块没有属性“strptime”【英文标题】:AttributeError: 'datetime' module has no attribute 'strptime' 【发布时间】:2013-10-29 02:09:11 【问题描述】:

这是我的Transaction 课程:

class Transaction(object):
    def __init__(self, company, num, price, date, is_buy):
        self.company = company
        self.num = num
        self.price = price
        self.date = datetime.strptime(date, "%Y-%m-%d")
        self.is_buy = is_buy

当我尝试运行date 函数时:

tr = Transaction('AAPL', 600, '2013-10-25')
print tr.date

我收到以下错误:

   self.date = datetime.strptime(self.d, "%Y-%m-%d")
 AttributeError: 'module' object has no attribute 'strptime'

我该如何解决这个问题?

【问题讨论】:

from datetime import datetime 我今天遇到了同样的问题。这是 Python 2 库中的一个已知线程错误。它不会被修复。解决方案:import _strptime 在此处阅读更多内容:***.com/questions/32245560/… 我们是否将其标记为骗子? 【参考方案1】:

值可能因使用情况而异。

import datetime
date = datetime.datetime.now()
date.strftime('%Y-%m-%d') # date variable type is datetime

日期变量的值必须是字符串::

date = '2021-09-06'
datetime.datetime.strptime(date, "%Y-%m-%d")
str(datetime.datetime.strptime(date, "%Y-%m-%d")) # show differently

【讨论】:

【参考方案2】:

我遇到了同样的问题,这不是您所说的解决方案。所以我将“从日期时间导入日期时间”更改为“导入日期时间”。之后与 在“datetime.datetime”的帮助下,我可以正确获取整个模块。我想这是该问题的正确答案。

【讨论】:

【参考方案3】:

如果我不得不猜测,你是这样做的:

import datetime

在代码的顶部。这意味着您必须这样做:

datetime.datetime.strptime(date, "%Y-%m-%d")

访问strptime 方法。或者,您可以将导入语句更改为:

from datetime import datetime

按原样访问它。

制作datetime module的人也将他们的class datetime命名为:

#module  class    method
datetime.datetime.strptime(date, "%Y-%m-%d")

【讨论】:

哥伦比亚小镇哥伦比亚的回忆:en.wikipedia.org/wiki/Colombia,_Huila 为什么Python会这样!? T__T 是的。 “想要一个美丽的代码”被愚蠢的语法规则毁掉的讽刺。【参考方案4】:

使用正确的调用:strptimedatetime.datetime 类的类方法,它不是 datetime 模块中的函数。

self.date = datetime.datetime.strptime(self.d, "%Y-%m-%d")

正如 Jon Clements 在 cmets 中提到的,有些人使用 from datetime import datetime,这会将 datetime 名称绑定到 datetime 类,并使您的初始代码正常工作。

要确定您(将来)面临哪种情况,请查看您的导入语句

import datetime:这就是模块(这就是你现在拥有的)。 from datetime import datetime:就是这个类。

【讨论】:

可悲的是 - 如果你正在改编别人的代码库 - 对于某些人来说,from datetime import datetime 并不少见,而对于其他系统,它只是一个 import datetime,因为它期望 datetime 成为一个模块... ;)

以上是关于AttributeError:“datetime”模块没有属性“strptime”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:“datetime”模块没有属性“strptime”

日期时间、熊猫和时区问题:AttributeError:“datetime.timezone”对象没有属性“_utcoffset”

AttributeError:“模块”对象没有属性“作者”

初学者 Python:AttributeError:'list' 对象没有属性

AttributeError:“字节”对象没有属性“告诉”

AttributeError: 'RDD' 对象没有属性 'show'