Файл унших ба бичих
Програм дотор үүсгэсэн өгөгдөл програм дуусахад устдаг. Харин файлд хадгалсан өгөгдөл хэзээд байна. Python нь файл унших, бичих ажлыг маш хялбарчилсан — нэг мөр кодоор файл нээж, ажлаа дуусаад автоматаар хаадаг.
Файл унших
Файл унших хамгийн энгийн арга бол open() функц хэрэглэх явдал юм. open() функц хоёр аргумент авна: файлын нэр ба горим (mode).
# 'r' горим = read (унших)
file = open("мэндчилгээ.txt", "r", encoding="utf-8")
агуулга = file.read()
print(агуулга)
file.close()
Файл нээсний дараа заавал хаах хэрэгтэй. Гэхдээ close() мартах нь нийтлэг алдаа. Тиймээс Python дээр with statement хэрэглэх нь хамгийн зөв дадал:
# with statement — файлыг автоматаар хаана
with open("мэндчилгээ.txt", "r", encoding="utf-8") as file:
агуулга = file.read()
print(агуулга)
# Блок дуусахад файл автоматаар хаагдана
with блокоос гарахад file.close() дуудахгүйгээр файл автоматаар хаагддаг. Үүнийг дадал болго.
Мөр мөрөөр унших
Том файл бүхэлд нь санах ойд ачаалахгүйгээр мөр мөрөөр боловсруулж болно:
with open("оюутнууд.txt", "r", encoding="utf-8") as file:
for мөр in file:
print(мөр.strip()) # strip() мөрийн эцсийн \n-ийг хасна
Файл бичих
Файлд бичихэд "w" (write) горим ашиглана. Анхааруулга: "w" горим файлыг бүрэн дарж бичнэ — өмнөх агуулга устана.
with open("тэмдэглэл.txt", "w", encoding="utf-8") as file:
file.write("Өнөөдрийн зорилго:\n")
file.write("1. Python сурах\n")
file.write("2. Файл ажиллуулах\n")
Одоо байгаа файлын сүүлд нэмж бичихэд "a" (append) горим хэрэглэнэ:
with open("тэмдэглэл.txt", "a", encoding="utf-8") as file:
file.write("3. Дараагийн хичээл үзэх\n")
Горимуудын хүснэгт
| Горим | Утга | Файл байхгүй бол |
| ----- | ---------------------------- | ----------------------- |
| "r" | Унших (read) | Алдаа гарна |
| "w" | Бичих, бүрэн дарах (write) | Шинэ файл үүсгэнэ |
| "a" | Сүүлд нэмэх (append) | Шинэ файл үүсгэнэ |
| "x" | Шинэ файл үүсгэх (exclusive) | Файл байвал алдаа гарна |
Бодит жишээ: оноо хадгалах
Жижиг тоглоомын оноог файлд хадгалж, дараагийн удаа уншиж харах жишээ:
def оноо_хадгалах(нэр: str, оноо: int) -> None:
with open("онооны_самбар.txt", "a", encoding="utf-8") as file:
file.write(f"{нэр}: {оноо} оноо\n")
def онооны_самбар_харах() -> None:
try:
with open("онооны_самбар.txt", "r", encoding="utf-8") as file:
print("=== Онооны самбар ===")
print(file.read())
except FileNotFoundError:
print("Одоогоор оноо алга байна.")
оноо_хадгалах("Болд", 150)
оноо_хадгалах("Сарнай", 200)
онооны_самбар_харах()
Гаралт:
=== Онооны самбар ===
Болд: 150 оноо
Сарнай: 200 оноо
Дараагийн хичээлд:
Python-ийн стандарт import системийг үзнэ — math, os, datetime зэрэг бэлэн модулиудыг ашиглаж, өөрийн модуль хэрхэн үүсгэхийг сурна.