पायथन में नेटिव रूप से सभी खुली फ़ाइलों को ट्रैक करने का कोई तरीका नहीं है। ऐसा करने के लिए आपको या तो सभी फ़ाइलों को स्वयं ट्रैक करना चाहिए या हमेशा फ़ाइलें खोलने के लिए with स्टेटमेंट का उपयोग करना चाहिए जो फ़ाइल को ऑटोमेटिकली बंद कर देता है जब यह स्कोप से बाहर जाती है या एरर का सामना करती है।
उदाहरण
with open('file.txt') as f:
# f के साथ यहां कुछ करें
आप सभी फ़ाइलों को संलग्न करने के लिए एक क्लास भी बना सकते हैं और सभी फ़ाइलों को बंद करने के लिए एक सिंगल क्लोज फ़ंक्शन बना सकते हैं।
उदाहरण
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()
# open मेथड का उपयोग करें
foo = files.open("text.txt", "r")
# सभी फ़ाइलें बंद करें
files.close()