Python clasa a 9-a · Manual Python
Laborator Python
LECȚIE · CAPITOLUL 6

6.3 — Scrierea în fișiere text

write(), writelines() și construirea conținutului

CONSTRUIEȘTE
→
SCRIE
→
SEPARĂ LINII
→
ACTUALIZEAZĂ
01
OBIECTIVE

La finalul lecției vei putea...

01

Scrie text într-un fișier cu write()

să scrie text într-un fișier cu write().

02

Să înțeleagă rolul caracterului \n pentru separarea liniilor

să înțeleagă rolul caracterului \n pentru separarea liniilor.

03

Să utilizeze writelines() pentru mai multe șiruri

să utilizeze writelines() pentru mai multe șiruri.

04

Să scrie rezultate obținute prin prelucrarea datelor

să scrie rezultate obținute prin prelucrarea datelor.

✓
Checkpoint

Adaugă write() automat o linie nouă?

02
EXPLICAȚIE

6.3 — Scrierea în fișiere text

Scrierea permite programului să transfere date din memorie în fișier. write() primește un șir de caractere. Pentru linii separate, includem \n.

write()

write() scrie exact textul primit; nu adaugă automat un rând nou.

writelines()

writelines() scrie succesiv elementele unei colecții de șiruri. Nici aceasta nu adaugă automat \n, deci trebuie incluse în șiruri dacă dorim linii separate.

✓
Checkpoint

Ce trebuie făcut cu un număr înainte de concatenarea cu text?

03
EXEMPLU INTUITIV

Construim intuiția înaintea problemei

Un raport este construit din propoziții. Dacă le scriem una după alta fără marcatori de linie, ele se lipesc. \n joacă rolul unei treceri la linia următoare.

Construiește un raport

Apasă butonul.

Observă \n

Alege o variantă.

04
PYTHON

Sintaxa și exemplele de bază

write()

f = open("raport.txt", "w")
f.write("Rezultate\n")
f.write("Media: 9.25\n")
f.close()

writelines()

linii = ["Ana\n", "Mihai\n", "Ioana\n"]
f = open("elevi.txt", "w")
f.writelines(linii)
f.close()

Construirea unui rezultat

suma = 27
n = 3
f = open("rezultat.txt", "w")
f.write("Suma = " + str(suma) + "\n")
f.write("Număr valori = " + str(n) + "\n")
f.close()
05
ALGORITM / PSEUDOCOD

Descrierea algoritmului

ALGORITM ScriereRezultat
    deschide fișierul în modul w sau a
    construiește textul rezultatului
    scrie textul în fișier
    închide fișierul
SFÂRȘIT ALGORITM
06
ATENȚIE!

Erori frecvente și cazuri importante

write() și writelines() primesc text, nu numere; pentru concatenarea numerelor cu textul folosim str().

Nu uita \n când vrei linii distincte.

w poate înlocui conținutul existent; a îl păstrează și adaugă la final.

Verifică fișierul rezultat, nu doar faptul că programul nu a afișat o eroare.

07
EXEMPLU REZOLVAT

Problemă completă

Problemă: Se citesc 5 numere și se scriu într-un fișier suma, media și numărul de valori.

ALGORITM ScriereRezultat
    deschide fișierul în modul w sau a
    construiește textul rezultatului
    scrie textul în fișier
    închide fișierul
SFÂRȘIT ALGORITM

Algoritm / pseudocod

Python

numere = [8, 10, 7, 9, 6]
suma = 0
for x in numere:
    suma += x

f = open("rezultat.txt", "w")
f.write("Număr valori = " + str(len(numere)) + "\n")
f.write("Suma = " + str(suma) + "\n")
f.write("Media = " + str(suma / len(numere)) + "\n")
f.close()

Verificare: pentru datele date, suma este 40, iar media este 8.0. Testează și o altă listă de valori.

08
EXERCIȚII DE BAZĂ

Aplică direct

  1. 1. Scrie trei propoziții în trei linii.
  2. 2. Scrie valorile 10, 20, 30 într-un fișier, câte una pe linie.
  3. 3. Rescrie exercițiul anterior folosind writelines().
  4. 4. Creează un fișier cu un titlu și două linii de conținut.
  5. 5. Adaugă o linie nouă la un fișier existent.
09
EXERCIȚII DE APROFUNDARE

Analizează și extinde

  1. 1. Scrie într-un fișier tabelul de pătrate pentru numerele 1–10.
  2. 2. Generează un raport cu sumă, produs și medie pentru un set de valori.
  3. 3. Construiește un jurnal care păstrează toate rulările.
  4. 4. Explică avantajul folosirii unui format consecvent pentru fișierele de rezultate.
10
VERIFICARE

Quiz final

1. Ce primește write()?

2. Ce rol are \n?

3. Adaugă writelines() automat \n?

4. De ce folosim str() înaintea unui număr concatenat cu text?

5. Ce mod este potrivit pentru adăugarea într-un jurnal?

6. Ce verificăm după scriere?

11
MINI-PROIECT

Generator de raport

MISIUNE

Generator de raport

Mini-proiect – „Generator de raport”. Programul primește un set de valori, calculează suma, media, minimul și maximul și salvează un raport într-un fișier raport.txt. Raportul trebuie să fie lizibil și să conțină câte o informație pe linie.

Cerințe

write()01
\n02
str()03
raport lizibil04
verificarea fișierului05

Ai terminat lecția?

Verifică implementarea, rezultatul fișierelor și testele relevante înainte de finalizare.