2013-10-20 24 views
69

Đây là Transaction lớp học của tôi:AttributeError: đối tượng 'module' không có thuộc tính 'strptime'

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 

Và khi tôi đang cố gắng để chạy date chức năng:

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

Tôi nhận được lỗi sau:

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

Làm cách nào để khắc phục điều đó?

+7

'từ datetime nhập khẩu datetime' –

Trả lời

180

Nếu tôi phải đoán, bạn đã làm điều này:

import datetime 

ở phía trên cùng của mã của bạn. Điều này có nghĩa là bạn phải làm điều này:

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

để truy cập phương pháp strptime. Hoặc, bạn có thể thay đổi tuyên bố nhập về điều này:

from datetime import datetime 

và truy cập nó như bạn.

Những người đã datetime module cũng có tên của họ class datetime:

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

Sử dụng đúng cuộc gọi: strptime là một lớp học của lớp datetime.datetime, nó không phải là một chức năng trong mô-đun datetime.

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

Như đã đề cập bởi Jon Clements trong các ý kiến, một số người làm from datetime import datetime, mà sẽ gắn tên datetime đến lớp datetime, và làm cho công việc mã ban đầu của bạn.

Để xác định trường hợp này bạn đang phải đối mặt (trong tương lai), nhìn vào báo cáo nhập khẩu của bạn

  • import datetime: đó là mô-đun (đó là những gì bạn có ngay bây giờ).
  • from datetime import datetime: đó là lớp học.
+0

Đáng buồn - nếu bạn đang thích nghi với cơ sở mã của người khác - nó không phải là hiếm đối với một số để làm 'từ datetime import datetime' và cho các hệ thống khác, nó chỉ là 'datetime' khi nó dự kiến' datetime' là một module ...;) –

+0

@JonClements Thật vậy! –

Các vấn đề liên quan