3.1+ এর জন্য, নিম্নলিখিতগুলির মধ্যে একটি:
isinstance(something, io.TextIOBase)
isinstance(something, io.BufferedIOBase)
isinstance(something, io.RawIOBase)
isinstance(something, io.IOBase)
২.x এর জন্য, "ফাইল-এর মতো অবজেক্ট" চেক করার মতো বিষয় খুব অস্পষ্ট, তবে আপনি যে ফাংশন (গুলি) নিয়ে কাজ করছেন তার ডকুমেন্টেশন আশা করি আপনাকে তাদের আসলে কী প্রয়োজন তা বলবে; যদি না হয় তবে কোডটি পড়ুন।
অন্যান্য উত্তরগুলি নির্দেশ করে, প্রথমত আপনাকে জিজ্ঞাসা করতে হবে যে আপনি ঠিক কী পরীক্ষা করছেন। সাধারণত, ইএএফপি যথেষ্ট, এবং আরও মূর্তিমান।
শব্দকোষ বলছেন "ফাইল মত বস্তু" যা পরিণামে তিন এক একটি দৃষ্টান্ত মানে "ফাইল বস্তুর", জন্য একটি প্রতিশব্দ হয় বিমূর্ত বেস ক্লাস সংজ্ঞায়িত মডিউল যা নিজেদের সব উপশ্রেণী হয়, । সুতরাং, চেক করার উপায়টি ঠিক উপরে দেখানো মত।io
IOBase
(তবে, চেক IOBase
করা খুব কার্যকর নয় text আপনি এমন একটি ক্ষেত্রে কী কল্পনা করতে পারেন যেখানে আপনাকে read(size)
এমন কোনও এক-আর্গুমেন্ট ফাংশন read
যা ফাইল-জাতীয় নয়, টেক্সট ফাইল এবং কাঁচা মধ্যেও পার্থক্য না করেই আলাদা করতে হবে) বাইনারি ফাইল? সুতরাং, আপনি প্রায় সবসময় পরীক্ষা করতে চান, যেমন, "একটি পাঠ্য ফাইল অবজেক্ট", "কোনও ফাইলের মতো বস্তু নয়"।)
২.x এর জন্য, io
মডিউলটি যখন ২.6++ থেকেই রয়েছে, তখন অন্তর্নির্মিত ফাইল অবজেক্টগুলি io
ক্লাসের উদাহরণ নয়, স্টার্টলিবের কোনও ফাইল-জাতীয় বস্তু নয় এবং তৃতীয় পক্ষের ফাইল-জাতীয় বস্তুও আপনি নন 'মুখোমুখি হওয়ার সম্ভাবনা আছে। "ফাইল-জাতীয় বস্তু" এর অর্থের কোনও আনুষ্ঠানিক সংজ্ঞা ছিল না; এটি কেবল "বিল্টিন ফাইল অবজেক্টের মতো কিছু " এবং বিভিন্ন ফাংশনগুলির অর্থ "লাইক" দ্বারা ভিন্ন জিনিস। এই ধরনের ফাংশনগুলির অর্থ কী তা ডকুমেন্ট করা উচিত; যদি তারা না করে তবে আপনাকে কোডটি দেখতে হবে।
তবে সর্বাধিক সাধারণ অর্থ হ'ল read(size)
"," আছে read()
", বা" স্ট্রিংগুলির একটি পুনরাবৃত্তিযোগ্য ", তবে কিছু পুরানো গ্রন্থাগারগুলির readline
মধ্যে একটির পরিবর্তে আশা করা যেতে পারে , কিছু লাইব্রেরি আপনার দেওয়া close()
ফাইলগুলি পছন্দ করে, কিছু আশা করে যে যদি fileno
উপস্থিত থাকে তবে অন্যান্য কার্যকারিতা উপলভ্য হয় ইত্যাদি ইত্যাদি এবং একইভাবে write(buf)
(যদিও সেদিকে অনেক কম বিকল্প রয়েছে)।
why
কি অপারেটার পছন্দ সম্পর্কে__add__
,__lshift__
অথবা__or__
কাস্টম ক্লাসের? (ফাইল অবজেক্ট এবং এপিআই: docs.python.org/glossary.html#term-file-object )