# फ़ाइल पढ़ना और लिखना — पायथन

Source: https://www.geekswithgeeks.com/hi/python/py-file-basics

> टेक्स्ट फ़ाइलों को `with` के साथ सुरक्षित तरीके से खोलें, पढ़ें, लिखें और बंद करें।

## with स्टेटमेंट

`with open(...) as f:` फ़ाइल खोलता है और **गारंटी** देता है कि वह बंद हो जाएगी, भले ही ब्लॉक के अंदर त्रुटि हो जाए।

```python
with open("notes.txt", "w") as f:
    f.write("Hello, file!\n")

with open("notes.txt", "r") as f:
    content = f.read()
    print(content)
```

## पंक्ति-दर-पंक्ति पढ़ना

पंक्ति-दर-पंक्ति पढ़ना बड़ी फ़ाइलों के लिए मेमोरी कम रखता है, क्योंकि फ़ाइल ऑब्जेक्ट खुद iterable है।

```python
with open("notes.txt") as f:
    for line in f:
        print(line.strip())
```

## कॉन्टेक्स्ट मैनेजर

`with` इसलिए काम करता है क्योंकि फ़ाइल ऑब्जेक्ट **कॉन्टेक्स्ट मैनेजर** हैं — वे `__enter__`/`__exit__` परिभाषित करते हैं ताकि सेटअप और सफ़ाई अपने-आप हो।
