সমস্ত খোলা ফাইল ট্র্যাক করার জন্য পাইথনে স্থানীয়ভাবে কোন উপায় নেই। এটি করার জন্য আপনাকে হয় নিজেই সমস্ত ফাইল ট্র্যাক করতে হবে অথবা ফাইলগুলি খুলতে সর্বদা উইথ স্টেটমেন্ট ব্যবহার করতে হবে যা স্বয়ংক্রিয়ভাবে ফাইলটি সুযোগের বাইরে চলে যাওয়া বা কোনও ত্রুটির সম্মুখীন হওয়ার সাথে সাথে বন্ধ করে দেয়৷
উদাহরণস্বরূপ
with open('file.txt') as f:
# do something with f here এছাড়াও আপনি সমস্ত ফাইল এনক্লোজ করার জন্য একটি ক্লাস তৈরি করতে পারেন এবং সমস্ত ফাইল বন্ধ করার জন্য একটি সিঙ্গেল ক্লোজ ফাংশন তৈরি করতে পারেন৷
উদাহরণস্বরূপ
class OpenFiles():
def __init__(self):
self.files = []
def open(self, file_name):
f = open(file_name)
self.files.append(f)
return f
def close(self):
list(map(lambda f: f.close(), self.files))
files = OpenFiles()
# use open method
foo = files.open("text.txt", "r")
# close all files
files.close()