Python / Файл унших ба бичих

Файл унших ба бичих

Програм дотор үүсгэсэн өгөгдөл програм дуусахад устдаг. Харин файлд хадгалсан өгөгдөл хэзээд байна. Python нь файл унших, бичих ажлыг маш хялбарчилсан — нэг мөр кодоор файл нээж, ажлаа дуусаад автоматаар хаадаг.

Файл унших

Файл унших хамгийн энгийн арга бол open() функц хэрэглэх явдал юм. open() функц хоёр аргумент авна: файлын нэр ба горим (mode).

python
# 'r' горим = read (унших)
file = open("мэндчилгээ.txt", "r", encoding="utf-8")
агуулга = file.read()
print(агуулга)
file.close()

Файл нээсний дараа заавал хаах хэрэгтэй. Гэхдээ close() мартах нь нийтлэг алдаа. Тиймээс Python дээр with statement хэрэглэх нь хамгийн зөв дадал:

python
# with statement — файлыг автоматаар хаана
with open("мэндчилгээ.txt", "r", encoding="utf-8") as file:
    агуулга = file.read()
    print(агуулга)

# Блок дуусахад файл автоматаар хаагдана

with блокоос гарахад file.close() дуудахгүйгээр файл автоматаар хаагддаг. Үүнийг дадал болго.

Мөр мөрөөр унших

Том файл бүхэлд нь санах ойд ачаалахгүйгээр мөр мөрөөр боловсруулж болно:

python
with open("оюутнууд.txt", "r", encoding="utf-8") as file:
    for мөр in file:
        print(мөр.strip())  # strip() мөрийн эцсийн \n-ийг хасна

Файл бичих

Файлд бичихэд "w" (write) горим ашиглана. Анхааруулга: "w" горим файлыг бүрэн дарж бичнэ — өмнөх агуулга устана.

python
with open("тэмдэглэл.txt", "w", encoding="utf-8") as file:
    file.write("Өнөөдрийн зорилго:\n")
    file.write("1. Python сурах\n")
    file.write("2. Файл ажиллуулах\n")

Одоо байгаа файлын сүүлд нэмж бичихэд "a" (append) горим хэрэглэнэ:

python
with open("тэмдэглэл.txt", "a", encoding="utf-8") as file:
    file.write("3. Дараагийн хичээл үзэх\n")

Горимуудын хүснэгт

| Горим | Утга | Файл байхгүй бол | | ----- | ---------------------------- | ----------------------- | | "r" | Унших (read) | Алдаа гарна | | "w" | Бичих, бүрэн дарах (write) | Шинэ файл үүсгэнэ | | "a" | Сүүлд нэмэх (append) | Шинэ файл үүсгэнэ | | "x" | Шинэ файл үүсгэх (exclusive) | Файл байвал алдаа гарна |

Бодит жишээ: оноо хадгалах

Жижиг тоглоомын оноог файлд хадгалж, дараагийн удаа уншиж харах жишээ:

python
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 зэрэг бэлэн модулиудыг ашиглаж, өөрийн модуль хэрхэн үүсгэхийг сурна.