AttributeError: ‘datetime’ module heeft geen attribuut ‘strptime’

Hier is mijn klasse 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

En als ik de functie dateprobeer uit te voeren:

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

Ik krijg de volgende foutmelding:

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

Hoe kan ik dat oplossen?


Antwoord 1, autoriteit 100%

Als ik moest raden, deed je dit:

import datetime

bovenaan je code. Dit betekent dat je dit moet doen:

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

om toegang te krijgen tot de strptimemethode. Of u kunt het importstatement in dit veranderen:

from datetime import datetime

en open het zoals u bent.

De mensen die de datetime-modulehebben gemaakt hebben ook hun klasse datetimegenoemd:

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

Antwoord 2, autoriteit 4%

Gebruik de juiste aanroep: strptimeis een klassenmethode van de klasse datetime.datetime, het is geen functie in de module datetime.

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

Zoals vermeld door Jon Clements in de opmerkingen, doen sommige mensen from datetime import datetime, wat de naam datetimezou binden aan de datetimeclass, en laat je eerste code werken.

Om te bepalen met welk geval u (in de toekomst) wordt geconfronteerd, bekijkt u uw importverklaringen

  • import datetime: dat is de module (die heb je nu).
  • from datetime import datetime: dat is de klas.

Antwoord 3

Ik heb hetzelfde probleem en het is niet de oplossing die je hebt verteld. Dus ik heb de “from datetime import datetime” gewijzigd in “import datetime”. Daarna met
met de hulp van “datetime.datetime” kan ik de hele modules correct krijgen. Ik denk dat dit het juiste antwoord op die vraag is.

Other episodes