Práca s objektmi súborov: funkcia otvorenia, čítania a písania súborov v Pythone

Súbory patria k základným typom dát jazyka Python. Toto je prepojovacie rozhranie medzi kódom a pomenovanými oblasťami počítačovej pamäte. Súbory vykonávajú funkciu "zachovania" objektov. Umožňujú vám uložiť akékoľvek informácie s následným vyložením a spracovaním. Budeme uvažovať o tom, ako nahrať súbor v Pythone a spätne čítať dáta praktickými príkladmi.

Ako otvoriť súbor?

Práca s týmto typom údajov začína vstavanou otvorenou funkciou. Vytvára objektový súbor, ktorý poskytuje komunikáciu s externým dokumentom v počítači. Po vyvolaní funkcie môžete vykonávať čítanie alebo zápis operácií v súboroch v Pythone.


Pre začiatočníkov bude práca so súbormi zrejme komplikovaná. Odlišujú sa od bežných riadkov, čísel, slovníkov. Na interakciu s nimi literály sekvencií alebo reflexií sa nepoužívajú, iba metódy. Väčšina metód je zameraná na implementáciu vstupných a výstupných informácií, ale sú konkrétnejšie. Napríklad príkaz output.flush (), ktorý výstupy výstupných vyrovnávacích pamätí na disk. Ale poďme začať skúmaním, ako otvoriť súbor. Najprv musíte zavolať open (), v zátvorkách uveďte funkciu, názov externého súboru a režim prevádzky s ním:
  • r - znamená, že sa štandardne otvorí režim čítania;
  • w - režim zápisu pre súbory v Pythone;
  • a - na zaznamenávanie informácií na konci dokumentu;
  • b - spracovanie binárnych súborov;
  • znamienko "+" znamená čítanie a zaznamenávanie súčasne.
  • Dôležitým pravidlom - všetky argumenty musí byť špecifikované ako doslovné reťazce, ktoré v úvodzovkách a čiarkami:


  • This_file = open («C: nepárna», «w») # Príklad volanie funkcie otvorená integrované vývojové prostredie.
  • Ako používať súbory?

    Po otvorení súboru môžete použiť všetky jeho metódy. Obsah pre čítanie bude prezentovaný ako riadky. Ak chcete písať do súborov v Pythone, informácie by mali mať aj podobu reťazcov. Zoznam najpoužívanejších operácií:
  • input.read () - vráti informácie ako jeden riadok;
  • input.readline () - prečítajte si ďalší riadok;
  • input.readlines () - predkladá súbor pre čítanie docela zoznam reťazcov;
  • .write () - riadky záznamu;
  • .writelines () - napíšte všetky riadky;
  • .close () - ručne zatvorte dokument.
  • je k dispozícii správca súborov

    informácie obsiahnuté v súboroch vytvorených v podobe objektov typu string. Preto predtým, ako začnete spracovávať, je potrebné previesť údaje. Použite zabudované metódy int () alebo list () pre toto. Tiež výrazy pre formátovanie reťazcov. Použitie metódy zavrieť je voliteľné. Ale pri práci s flush sú zdroje operačného systému uvoľnené a výstupné vyrovnávacie pamäte sú vytlačené. Štandardne je výstup cez medzipamäte. Pri zadávaní údajov do súboru v systéme Python sa informácie okamžite nedostanú na disk, ale iba v čase zatvorenia.

    vstup vzorky v súbore

    Uvažujme príklad textového súboru vointeraktívna relácia. Prvým krokom je otvorenie súboru v IDLE. Predtvoriť to nie je nutné:
  • first_f = open ("first_file.txt", "w")
  • first_f.write ("Any text") # Napíšte riadok
  • ]
  • first_f.write ("A znova, akýkoľvek text")
  • 20
  • first_f.close () # Closed;
  • first_f = open ("first_file.txt")
  • first_f.readline () # Prečítajte si, čo je napísané
  • V súbore Python 3.0 vracia počet vložených znakov. Toto sa nestalo v predchádzajúcej verzii. V príklade bol použitý charakter konca riadku n. Bez nej metóda zápisu zapíše celý pevný text.
    Ak si chcete prečítať obsah súboru bez toho, aby ste na konci ukazovali n, použite prečítať:
  • print (open ("first_file.txt")) Read ())
  • a opäť text;
  • Každý riadok môžete zobraziť postupne podľa jeho iterácie:
  • pre x v otvorenej ("first_file.txt"):
  • print (x, end = "")
  • - aký text
  • a opäť text # Každý nový riadok bude odsadený.
  • Ukladanie jazyka Python Základné objekty

    Do textového súboru môžete uložiť akékoľvek vstavané alebo ručne vytvorené objekty. Na zaznamenávanie súborov v Pythone postupne musí byť každá položka predkonvertovaná na riadok. Nezabudnite, že metódy neformátujú údaje.
  • Zoznam = [1,8, "r"]
  • C, B, P = 349056
  • Strana = "Znaková sada"
  • Example_2.write (str (List) + "n")
  • Príklad_2.písať (Strana + «n»)
  • 15
  • Príklad_2.close ()
  • print (open ("second_file.txt") čítaj ())
  • ]
  • znaková sada
  • V tomto príklade sa najprv vytvorí nový súborový súbor "second_file.txt", ktorý sa má zapísať. Päť mien má priradenú hodnotu zoznamu, reťazca a celých čísel. Pred nahrávaním sa každý objekt prevedie na reťazec. Na konci sa súbor otvára pomocou vstavanej funkcie tlače a metódou čítania.

    Rovnakým princípom Python zaznamenáva záznam slovníka do súboru. Musíte zavolať funkciu str a odovzdať ju ako argumentový objekt. Najťažšou vecou nie je uloženie dát, ale ich získanie a konvertovanie späť do slovníkov alebo čísel. Transformácia reťazca do objektov jazyka pomôže metóde readline:
  • L = open ("second_file.txt")
  • F = L. readline "349056n"
  • Čísla = F. rozdelenie (",") # com rozdelené na podreťazce
  • Čísla
  • ("34", "90"Čísla = [int (x) pre x v číslach] # Previesť celý zoznam
  • Čísla
  • Objekty používajúce špeciálne moduly
    Štandardná knižnica obsahuje modul nazvaný pickle. Je to veľmi užitočný nástroj na zaznamenávanie a vyhľadávanie informácií. Najmä vtedy, keď neveríte zdroju súboru. Modul je všestranný nástroj, ktorý automaticky formátuje a konvertuje dáta. Ak chcete napísať objekt ľubovoľného typu (slovníka), stačí ho preniesť do nálevu:
  • Slovník
  • Slovník
  • {«osem»: 8 «tri»: 3 «nula»: 0}
  • dokument = otvorené («мойдокумент.pkl», «wb»)
  • ]
  • roosol.dump (slovník, dokument)
  • document.close ()
  • document = open ("môj dokument.pkl", "rb")
  • 92) {"osem": 8 "tri": 3 "nula": 0}
  • Pomocou modulu nie je potrebné manuálne extrahovať a konvertovať dáta. On sám vykoná serializáciu objektov v rade bajtov a späť. Na tento účel je v otvorených argumentoch zadané binárne číslo wb-write. Podobne ako nakladač, môžete si "uchovať" dáta pomocou modulu Python - JSON. Nahrávanie do súboru sa vykonáva pomocou metódy výpisu. Argumenty zahŕňajú uložené objekty, ktoré sa automaticky serializujú do reťazca formátu JSON.
  • import json
  • slovník = {«osem»: 8 «tri»: 3 «nula»: 0)
  • s otvoreným («môj dokumen.json», «w» m_d:
  • json.dump (Slovník, m_d)
  • Existuje niekoľko zložitých spôsobov, ako pracovať so súbormi. Napríklad operácia skenovania, organizácia záznamových cyklov. Ak chcete zobraziť úplný zoznam metód, použite pomocné alebo dirové funkcie v interaktívnej relácii. Aj v arzenáli jazykov sú objekty, ktoré sú podobné súborom - zásuvkám, shellom a vstupom /výstupom.

    Súvisiace publikácie