উত্তর:
আপনার সর্বদা ব্যবহার করা উচিত open()।
নথি হিসাবে বলা হয়েছে:
কোনও ফাইল খোলার সময় এই নির্মাতাকে সরাসরি অনুরোধ করার পরিবর্তে ওপেন () ব্যবহার করা ভাল rable ফাইল টাইপ টেস্টিংয়ের জন্য বেশি উপযুক্ত (উদাহরণস্বরূপ, "isinstance (f, file)" লেখার জন্য)।
এছাড়াও, পাইথন 3.0 এর পরে file() থেকে সরানো হয়েছে ।
দুটি কারণ: "এটি করার এক উপায় থাকা উচিত" এর অজগর দর্শন এবং fileচলে যাচ্ছে।
fileআসল প্রকার (যেমন ব্যবহার করে file('myfile.txt')এটির কনস্ট্রাক্টরকে কল করা হচ্ছে)। openএকটি ফ্যাক্টরি ফাংশন যা কোনও ফাইলের অবজেক্ট ফিরিয়ে দেবে।
পাইথন ৩.০ লাইব্রেরিতে fileএকাধিক ক্লাস দ্বারা বিল্ট-ইন হয়ে বাস্তবায়িত হতে চলেছে io(বাফার পাঠকদের সাথে জাভা এর মতো কিছুটা ইত্যাদি)
file()ইনট বা তালিকার মতো একটি প্রকার। open()ফাইল খোলার জন্য একটি ফাংশন, এবং একটি fileবস্তু ফিরে আসবে ।
এটি কখন খোলা ব্যবহার করা উচিত তার একটি উদাহরণ:
f = open(filename, 'r')
for line in f:
process(line)
f.close()
আপনার কখন ফাইল ব্যবহার করা উচিত এটি এর একটি উদাহরণ:
class LoggingFile(file):
def write(self, data):
sys.stderr.write("Wrote %d bytes\n" % len(data))
super(LoggingFile, self).write(data)
যেমন আপনি দেখতে পাচ্ছেন, উভয়ের বিদ্যমান থাকার জন্য একটি ভাল কারণ এবং উভয়ের জন্য একটি স্পষ্ট ব্যবহারের ক্ষেত্রে।
withবিবৃতি দিয়ে খোলা উচিত । with open(filename, 'r') as f: \ for line in f: \ process(line)। এটি সুস্পষ্ট কাছাকাছি এড়ানো। পাইথন ২.6 এবং তারপরে স্থানীয়ভাবে withবিবৃতিটিকে সমর্থন করে । পাইথন 2.5 তে, আপনাকে অবশ্যই from __future__ import with_statementআপনার কোডের শীর্ষে যুক্ত করতে হবে ।
fileক্লাসটি বিশেষ পদ্ধতিতে সজ্জিত ছিল যা যখনই কোনও withবিবৃতি দিয়ে কোনও ফাইল খোলা হয় তখন স্বয়ংক্রিয়ভাবে কল হয় । এই বিশেষ পদ্ধতিগুলি নিশ্চিত করে যে ফাইলটি সঠিকভাবে এবং নিরাপদে খোলা এবং বন্ধ রয়েছে।
কার্যকরীভাবে, দুটি একই; যাইহোক openকল করবে file, সুতরাং বর্তমানে পার্থক্য শৈলী একটি বিষয়। পাইথন ডক্স ব্যবহার করার প্রস্তাব open।
কোনও ফাইল খোলার সময়, সরাসরি ফাইল নির্মাণকারীকে সরাসরি অনুরোধ করার পরিবর্তে ওপেন () ব্যবহার করা ভাল pre
কারণটি হ'ল ভবিষ্যতের সংস্করণগুলিতে এগুলি একই হওয়ার নিশ্চয়তা নেই (এটি openএকটি কারখানার কার্যক্রমে পরিণত হবে, এটি যে পথটি খোলার পথে তার উপর নির্ভর করে বিভিন্ন ধরণের জিনিস ফেরত দেয়)।
ফাইল খোলার জন্য কেবল কখনও ওপেন () ব্যবহার করুন। ফাইল () প্রকৃতপক্ষে 3.0 এ সরানো হচ্ছে এবং এই মুহুর্তে এটি হ্রাস পেয়েছে। তাদের মধ্যে এক ধরণের অদ্ভুত সম্পর্ক রয়েছে তবে ফাইল () এখন চলছে, সুতরাং আর চিন্তার দরকার নেই।
নীচে পাইথন 2.6 ডক্স থেকে প্রাপ্ত। [বন্ধনী স্টাফ] আমার দ্বারা যুক্ত।
কোনও ফাইল খোলার সময়, এই [ফাইল ()] কনস্ট্রাক্টরকে সরাসরি অনুরোধ করার পরিবর্তে ওপেন () ব্যবহার করা ভাল। ফাইল টাইপ টেস্টিংয়ের জন্য আরও উপযুক্ত (উদাহরণস্বরূপ, লেখার বিস্তৃতি (চ, ফাইল)
মিঃ ভ্যান রসমের মতে, যদিও ওপেন () বর্তমানে ফাইলের জন্য একটি উপন্যাস () আপনার ওপেন () ব্যবহার করা উচিত কারণ এটি ভবিষ্যতে পরিবর্তিত হতে পারে।