📁
File Handling

File Handling

open(), read(), write()
💡 Python mein file handle karna bahut simple hai — ek library book issue karo (open()), padho ya likho, aur wapas karo (close()) — bas ye sab bahut kam code mein ho jaata hai C/C++ ke comparison mein.

open(filename, mode) file kholta hai — modes: "r" (read), "w" (write, overwrite), "a" (append), "r+" (read+write). File object se .read() (poora content), .readline() (ek line), .readlines() (saari lines, list mein) call kar sakte ho.

.write(text) file mein likhta hai. Kaam khatam hone ke baad .close() call karna zaroori hai — warna changes disk par properly save nahi ho sakte (buffering ki wajah se).

# Likhna:
f = open("data.txt", "w")
f.write("Hello, Python!\n")
f.write("Second line\n")
f.close()

# Padhna:
f = open("data.txt", "r")
content = f.read()          # poora content ek string mein
print(content)
f.close()

# Line by line:
f = open("data.txt", "r")
for line in f:                # file khud iterable hai!
    print(line.strip())      # strip() se trailing \n hataao
f.close()
📁
Python mein file handle karna bahut simple hai — ek library book issue karo (open()), padho ya likho, aur wapas karo (close()) — bas ye sab bahut kam code mein ho jaata hai C/C++ ke comparison mein.
1 / 6
⚡ Quick Recap
  • open(filename, mode) — "r"/"w"/"a" modes
  • .read()/.readline()/.readlines() — padhne ke tareeke
  • .close() zaroori hai — warna changes properly save nahi honge
Is page mein (2 subtopics)

csv module (Python standard library) CSV files ko easily read/write karne deta hai — manually comma-splitting karne se zyada robust (edge cases jaise commas-inside-quotes handle karta hai).

import csv

with open("students.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["name", "marks"])
    writer.writerow(["Aarav", 85])
    writer.writerow(["Riya", 92])

with open("students.csv", "r") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)   # ['name', 'marks'], ['Aarav', '85'], ...
💡Tip: csv.DictReader/csv.DictWriter aur bhi convenient hain — rows ko dictionaries ke roop mein dete hain (column-name se access), index se nahi.

json module Python objects (dicts, lists) ko JSON string mein convert karta hai (json.dumps()) aur wapas (json.loads()) — APIs, config files, data storage mein bahut common.

import json

data = {"name": "Aarav", "age": 20, "skills": ["Python", "SQL"]}

with open("data.json", "w") as f:
    json.dump(data, f)   # Python object → JSON file

with open("data.json", "r") as f:
    loaded = json.load(f)   # JSON file → Python object
print(loaded["name"])   # "Aarav"
💡Tip: json.dumps()/json.loads() (s suffix) strings ke saath kaam karte hain, json.dump()/json.load() (bina s) files ke saath — naming thoda confusing hai, yaad rakhna zaroori.