Aquí está mi Transaction
clase:
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
Y cuando estoy tratando de ejecutar la date
función:
tr = Transaction('AAPL', 600, '2013-10-25')
print tr.date
Recibo el siguiente error:
self.date = datetime.strptime(self.d, "%Y-%m-%d")
AttributeError: 'module' object has no attribute 'strptime'
¿Cómo puedo arreglar eso?
python
class
python-2.7
Miguel
fuente
fuente
from datetime import datetime
Respuestas:
Si tuviera que adivinar, hiciste esto:
en la parte superior de tu código. Esto significa que tienes que hacer esto:
para acceder al
strptime
método O bien, puede cambiar la declaración de importación a esto:y accede a él como eres.
Las personas que hicieron el
datetime
módulo también nombraron a su clasedatetime
:fuente
Use la llamada correcta:
strptime
es un método dedatetime.datetime
clase de la clase, no es una función en eldatetime
módulo.Como mencionó Jon Clements en los comentarios, algunas personas lo hacen
from datetime import datetime
, lo que vincularía eldatetime
nombre a ladatetime
clase y haría que su código inicial funcionara.Para identificar a qué caso se enfrenta (en el futuro), mire sus declaraciones de importación
import datetime
: ese es el módulo (eso es lo que tienes ahora).from datetime import datetime
: esa es la clase.fuente
from datetime import datetime
y para otros sistemas es simplementeimport datetime
como se esperadatetime
que sea un módulo ...;)Tengo el mismo problema y no es la solución que le dijiste. Así que cambié "de fecha y hora de importación de fecha y hora" a "importación de fecha y hora". Después de eso con la ayuda de "datetime.datetime" puedo obtener todos los módulos correctamente. Supongo que esta es la respuesta correcta a esa pregunta.
fuente