উত্তর:
আপনার সর্বদা ব্যবহার করা উচিত 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 ডক্স থেকে প্রাপ্ত। [বন্ধনী স্টাফ] আমার দ্বারা যুক্ত।
কোনও ফাইল খোলার সময়, এই [ফাইল ()] কনস্ট্রাক্টরকে সরাসরি অনুরোধ করার পরিবর্তে ওপেন () ব্যবহার করা ভাল। ফাইল টাইপ টেস্টিংয়ের জন্য আরও উপযুক্ত (উদাহরণস্বরূপ, লেখার বিস্তৃতি (চ, ফাইল)
মিঃ ভ্যান রসমের মতে, যদিও ওপেন () বর্তমানে ফাইলের জন্য একটি উপন্যাস () আপনার ওপেন () ব্যবহার করা উচিত কারণ এটি ভবিষ্যতে পরিবর্তিত হতে পারে।