অ্যাট্রিবিউটআরার: 'ডেটটাইম' মডিউলটির কোনও 'অ্যাট্রিপটাইম' নেই


153

এখানে আমার 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'

আমি কীভাবে এটি ঠিক করতে পারি?


উত্তর:


384

যদি আমার অনুমান করতে হয় তবে আপনি এটি করেছেন:

import datetime

আপনার কোড শীর্ষে। এর অর্থ হল যে আপনাকে এটি করতে হবে:

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

strptimeপদ্ধতি অ্যাক্সেস করতে । অথবা, আপনি এখানে আমদানির বিবৃতি পরিবর্তন করতে পারেন:

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

সঠিক কলটি ব্যবহার করুন: বর্গের strptimeএকটি শ্রেণিবদ্ধ datetime.datetime, এটি datetimeমডিউলে কোনও ফাংশন নয় ।

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

মন্তব্যে জন ক্লিমেটস দ্বারা উল্লিখিত হিসাবে, কিছু লোক কাজ করে from datetime import datetimeযা শ্রেণীর সাথে datetimeনামটি আবদ্ধ করে datetimeএবং আপনার প্রাথমিক কোডটি কাজ করে।

আপনি কোন ক্ষেত্রে মুখোমুখি হচ্ছেন তা সনাক্ত করতে (ভবিষ্যতে), আপনার আমদানির বিবৃতিগুলি দেখুন

  • import datetime: এটি মডিউল (এটি এখন আপনার কাছে যা আছে)।
  • from datetime import datetime: এটাই ক্লাস।

দুঃখের বিষয় - আপনি যদি অন্য কারও কোড বেসটি মানিয়ে নিচ্ছেন - তবে কিছু করা from datetime import datetimeএবং অন্যান্য সিস্টেমের পক্ষে এটি মডিউল হওয়ার import datetimeপ্রত্যাশা মতো datetimeএকটি সাধারণ ঘটনা নয় ...;)
জন ক্লিমেটস

1

আমিও একই সমস্যা পেয়েছি এবং এটি আপনি যে সমাধানটি বলেছেন তা নয়। সুতরাং আমি "তারিখের সময় আমদানির তারিখের সময়" থেকে "আমদানির তারিখের সময়" এ পরিবর্তন করেছি। এর পরে "ডেটটাইম.ডেটটাইম" এর সাহায্যে আমি পুরো মডিউলগুলি সঠিকভাবে পেতে পারি। আমার ধারণা এটি এই প্রশ্নের সঠিক উত্তর।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.