AttributeError : 'datetime'모듈에 'strptime'속성이 없습니다.


154

여기 내 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'

어떻게 고칠 수 있습니까?


13
from datetime import datetime
Ashwini Chaudhary

답변:


384

내가 추측해야한다면, 당신은 이것을했다 :

import datetime

코드 상단에. 이것은 당신이 이것을해야한다는 것을 의미합니다 :

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

strptime메소드 에 액세스합니다 . 또는 import 문을 다음과 같이 변경할 수 있습니다.

from datetime import datetime

그리고 그대로 액세스하십시오.

datetime모듈 을 만든 사람들 도 클래스datetime 이름을 지정했습니다 .

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

12
: 마을 콜롬비아 콜롬비아의 생각 나게 en.wikipedia.org/wiki/Colombia,_Huila
sindri_baldur

16

올바른 호출을 사용하십시오 : 클래스 strptimedatetime.datetime클래스 메소드이며 datetime모듈 의 함수가 아닙니다 .

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

주석에서 Jon Clements가 언급했듯이 일부 사람들은 이름을 클래스에 from datetime import datetime바인딩하고 초기 코드를 작동시킵니다.datetimedatetime

현재 어떤 문제가 발생했는지 확인하려면 수입 명세서를 확인하십시오.

  • import datetime: 그것은 모듈입니다 (지금 당신이 가진 것입니다).
  • from datetime import datetime: 클래스입니다.

슬프게도-다른 사람의 코드베이스를 조정하는 경우-일부는 흔하지 않으며 from datetime import datetime다른 시스템 은 모듈 import datetime일 것으로 예상 되는 것처럼 datetime...;)
Jon Clements

1

나는 같은 문제를 겪었고 그것은 당신이 말한 해결책이 아닙니다. 그래서 "datetime import datetime"을 "import datetime"으로 변경했습니다. 그 후 "datetime.datetime"의 도움으로 전체 모듈을 올바르게 얻을 수 있습니다. 나는 이것이 그 질문에 대한 정답이라고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.