Lucrul cu obiecte de fișiere: deschideți, citiți și scrieți fișiere în Python
Fișierele se referă la tipurile de date de bază ale Python. Aceasta este interfața dintre cod și zonele numite din memoria calculatorului. Fișierele îndeplinesc funcția de "conservare" a obiectelor. Acestea vă permit să salvați orice informație cu descărcarea și prelucrarea ulterioară. Vom analiza cum să scriem într-un fișier în Python și să citim invers datele cu exemple practice.
conținut
Cum deschid un fișier?
Lucrul cu acest tip de date începe cu funcția încorporată deschisă. Creează un obiect de fișiere care asigură comunicarea cu un document extern pe computer. După ce apelați această funcție, puteți efectua operații de citire sau scriere în fișierele Python.
Pentru începători, lucrul cu fișiere pare dificil. Ele diferă de liniile obișnuite, numerele, dicționarele. Pentru interacțiunea cu aceștia literalii secvențelor sau mapărilor nu sunt folosite, ci doar metode.
Cele mai multe dintre metode vizează realizarea intrărilor și ieșirilor de informații, dar sunt mai specifice. De exemplu, instrucțiunea output.flush (), care împinge tampoanele de ieșire pe disc. Dar vom începe prin a învăța cum să deschideți fișierul.
Primul lucru pe care trebuie să-l faceți este să apelați funcțiile open (), să treciți în paranteze, numele fișierului extern și modul de lucru cu acesta:
- r - înseamnă că modul de citire va fi deschis în mod implicit;
- w - modul de scriere pentru fișiere în Python;
- a - să scrie informații la sfârșitul documentului;
- b - prelucrarea fișierelor binare;
- semnul "+" înseamnă citirea și scrierea în același timp.
O regulă importantă este că toate argumentele trebuie să fie specificate ca șiruri literale, adică în citate și separate prin virgule:
- > This_file = open ("C: odd", "w") # Un exemplu de apelare a funcției deschise în IDE.
Cum se utilizează fișierele?
Odată ce fișierul este deschis, puteți utiliza toate metodele sale. Conținutul pentru citire va fi reprezentat ca șiruri de caractere. Pentru a scrie fișierelor în Python, informațiile trebuie să aibă și forma obiectelor șir.
Lista celor mai utilizate operațiuni:
- input.read () - returnează informațiile ca un singur șir;
- input.readline () - citiți următoarea linie;
- input.readslines () - prezintă un fișier pentru citire în întregime cu o listă de șiruri de caractere;
- .write () - scrieți rânduri;
- .writelines () - înregistra toate liniile;
- .close () - închideți manual documentul.
Caracteristicile de lucru cu fișiere
Toate informațiile conținute în fișiere sunt reprezentate ca obiecte șir. Prin urmare, înainte de a începe procesarea, trebuie să efectuați conversia datelor. Utilizați metodele built-in int () sau list () pentru a face acest lucru. Și, de asemenea, expresii pentru formatarea șirurilor.
Nu este nevoie să utilizați metoda de închidere. Dar când lucrați cu flush, resursele OS sunt eliberate și tampoanele de ieșire sunt eliminate. În mod prestabilit, ieșirea este prin tampoane intermediare. Când scrieți într-un fișier din Python, informațiile nu merg imediat la disc, ci numai la momentul închiderii.
Exemplu de scriere într-un fișier
Să aruncăm o privire asupra unui exemplu de lucru cu un fișier text într-o sesiune interactivă. Primul pas este să deschideți fișierul în IDLE. Pre-creați nu este necesar:
- > first_f = open ("first_file.txt", "w")
- > first_fr.write ("Orice text n") # Scrieți linii
- 12
- > first_fr.write ("Și din nou orice text n")
- 20
- > first_file.close () # Close;
- > first_f = open ("first_file.txt")
- > first_read.readline () # Am citit, ce este scris
- "Orice text n"
După ce scrie o linie într-un fișier, Python 3.0 returnează numărul de caractere introduse. În versiunea anterioară acest lucru nu se întâmplă. Exemplul a folosit caracterul de la sfârșitul liniei n. Fără ea, scrie va scrie totul în text solid.
Dacă doriți să citiți conținutul unui fișier fără să specificați n la sfârșit, utilizați metoda de citire:
- > print (deschideți ("first_file.txt") citiți ()
- orice text;
- și din nou orice text;
Puteți vedea fiecare rând pe rând prin iterație:
- > pentru x în deschis ("first_file.txt"):
- tipăriți (x, sfârșit = «»)
- orice text
- și din nou orice text # Fiecare linie nouă va fi afișată indentată.
Salvarea obiectelor de bază Python într-un fișier
Într-un fișier text, puteți salva orice obiecte încorporate sau create manual. Pentru a scrie fișierele în linie Python, fiecare element trebuie convertit într-un șir. De asemenea, rețineți că metodele nu formatează date.
- > example_2 = open ("second_file.txt", "w")
- > Listă = [1,8, "r"]
- > C, B, P = 34, 90, 56
- > Стр = "Set de caractere"
- > example_2.write (str (listă) + " n")
- 12
- > exemplu_2.write ("% s,% s,% s n"% (C, B, P))
- 11
- > example_2.write (Pp + " n")
- 15
- > example_2.close ()
- > print (deschideți ("second_file.txt") citiți ()
- [1, 8, "r"]
- 34, 90, 56
- set de caractere
În acest exemplu, creați mai întâi un nou fișier de fișier "second_file.txt" pentru scriere. Cinci nume sunt atribuite valorile unei liste, unui șir și ale întregilor. Înainte de înregistrare, fiecare obiect este convertit într-un șir. În final, fișierul este deschis utilizând funcția de imprimare încorporată și metoda de citire.
Prin același principiu, Python scrie un dicționar într-un fișier. Este necesar să apelați funcția str și să o transmiteți ca argument unui obiect. Cel mai greu lucru este să nu salvați datele, ci să le extrageți și să le întoarceți în dicționare sau numere.
Conversia șirurilor către obiectele de limbă folosind metoda readline:
- > L = deschis ("second_file.txt")
- > F = L.readline ()
- > F
- «34, 90, 56 n»
- > Numbers = F.split (",") # Separați prin virgule în subrețele
- > Numerele
- ["34", "90", "56 n"]
- > Numere = [int (x) pentru x în numere] # Conversia întregii liste
- > Numerele
- [34, 90, 56]
Înregistrarea obiectelor utilizând module speciale
Biblioteca standard include un modul numit pickle. Acesta este un instrument extrem de util pentru scrierea și extragerea informațiilor. Mai ales când nu aveți încredere în sursa fișierului.
Modulul este un utilitar universal care formatează automat și convertește datele. Pentru a scrie un obiect de orice tip (dicționar), e suficient să treci un murat:
- > Dicționar = {"opt": 8, "trei": 3, "zero": 0}
- > Dicționar
- {"Opt": 8, "trei": 3, "zero": 0}
- > document = open ("my_document.pkl", "wb")
- > murătura de import
- > pickle.dump (Dicționar, document)
- > document.close ()
- > document = deschis ("my_document.pkl", "rb")
- > D = pickle.load (document)
- > D
- {"Opt": 8, "trei": 3, "zero": 0}
Cu modulul, nu este nevoie să extrageți și să convertiți datele manual. Se efectuează serializarea obiectelor într-un șir de octeți și înapoi. Pentru aceasta, argumentele deschise specifică wb - write binary.
În mod similar, murăturile, "pot" datele pot folosi modulul Python - JSON. Fișierul este scris în fișier utilizând metoda dump. Argumentele sunt obiecte stocate care sunt serializate automat într-un șir JSON.
- > importați json
- > Dicționar = {"opt": 8, "trei": 3, "zero": 0}
- > cu deschise ("my_document.json", "w") ca m_d:
- > json.dump (Dicționar, m_d)
Există, de asemenea, modalități mai complexe de a lucra cu fișiere. De exemplu, funcționarea scanării, organizarea ciclurilor de înregistrare. Pentru a vedea întreaga listă de metode, utilizați funcțiile de ajutor sau dir în sesiunea interactivă. De asemenea, în arsenalul limbajului există obiecte similare fișierelor, - prize, cochilii de comandă și fluxuri de I / O.
- Python este mediul de dezvoltare. Python 3 pentru începători
- Cum și ce să deschideți fișierul * .pak? Descrierea formatului fișierelor * .pak
- Ce sunt fișierele? Tipuri de fișiere
- Structura fișierelor sistemelor de operare și clasificarea acestora
- Cel mai bun manager de fișiere pentru ipad
- PHP. Lucrul cu fișiere și directoare
- Format DOCM - decât să deschideți astfel de fișiere?
- Format cpi - ce este?
- Despre cum să selectați toate fișierele din dosar
- WLMP: cum se deschide un fișier
- Fișier temporar .tmp: ce este acesta și cum să îl deschideți?
- Java: lucrul cu fișiere - scrierea, citirea, ștergerea
- Lucrează cu fișiere. Modificarea extensiei fișierului
- Programarea în Python: Listă
- Intrare și ieșire în Python. Introduceți și imprimați
- Programarea în Python. Lucrul cu șiruri de caractere
- Python: tipuri de date, condiții, cerințe și exemple
- Ce sunt obiectele str în Python?
- Instrucțiuni condiționale dacă / altceva în Python: sintaxă și aplicație
- Cum se creează un fișier torrent pentru un obiect de pe computer
- Cum să îmbinați fișiere pdf