Scrie text într-un fișier cu write()
să scrie text într-un fișier cu write().
write(), writelines() și construirea conținutului
să scrie text într-un fișier cu write().
să înțeleagă rolul caracterului \n pentru separarea liniilor.
să utilizeze writelines() pentru mai multe șiruri.
să scrie rezultate obținute prin prelucrarea datelor.
Adaugă write() automat o linie nouă?
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.
Ce trebuie făcut cu un număr înainte de concatenarea cu text?
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.
Apasă butonul.
Alege o variantă.
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()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()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 ALGORITMwrite() ș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.
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 ALGORITMnumere = [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.
writelines().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?
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.
Verifică implementarea, rezultatul fișierelor și testele relevante înainte de finalizare.