with की मदद से फ़ाइलें साफ़-सुथरे ढंग से पढ़ें और लिखें, JSON का आदान-प्रदान करें और अपने कोड को आयात करने योग्य मॉड्यूल में संगठित करें।
इस पाठ को Kodokon में खोलेंफ़ाइलें पढ़ना और लिखना किसी वास्तविक प्रोग्राम की रोज़मर्रा की रोटी है: निर्यात, लॉग, कॉन्फ़िगरेशन। with कीवर्ड फ़ाइल खोलता है और उसका बंद होना सुनिश्चित करता है, भले ही ब्लॉक के बीच में कोई त्रुटि हो जाए। फ़ाइल खोलने का यही एकमात्र पेशेवर तरीका है: इसके बिना, भूला हुआ close() डेटा को दूषित कर सकता है या सिस्टम के संसाधन चुका सकता है।
lines = ["alpha", "beta", "gamma"]
with open("notes.txt", "w", encoding="utf-8") as f:
for line in lines:
f.write(line + "\n")
with open("notes.txt", encoding="utf-8") as f:
content = f.read()
print(content)संरचित डेटा के लिए, अपना खुद का फ़ॉर्मैट न गढ़ें: मानक लाइब्रेरी का json मॉड्यूल डिक्शनरी और लिस्ट को टेक्स्ट में बदलता है, और वापस भी। यह प्रोग्राम, API और कॉन्फ़िगरेशन फ़ाइलों के बीच आदान-प्रदान का सार्वभौमिक फ़ॉर्मैट है।
import json
config = {"debug": True, "retries": 3}
with open("config.json", "w", encoding="utf-8") as f:
json.dump(config, f, indent=2)
with open("config.json", encoding="utf-8") as f:
loaded = json.load(f)
print(loaded["retries"]) # 3एक मॉड्यूल बस एक .py फ़ाइल है: import billing billing.py को लोड करता है और उसकी सामग्री केवल एक बार चलाता है। अपने कोड को ज़िम्मेदारी के अनुसार संगठित करें - बिलिंग के लिए एक मॉड्यूल, भंडारण के लिए दूसरा - और import कथनों को फ़ाइल के शीर्ष पर रखें। if __name__ == "__main__" परीक्षण दो स्थितियों में अंतर करता है: सीधे चलाने पर, फ़ाइल इस ब्लॉक को निष्पादित करती है; आयात किए जाने पर, वह इसे अनदेखा कर देती है।
def compute_total(prices):
return round(sum(prices), 2)
def main():
print(compute_total([9.99, 4.5, 20.0]))
if __name__ == "__main__":
main()python billing.py