nisfarm.ru

Práce s objekty souborů: otevřete, přečtěte a zapisujte soubory do Pythonu

Soubory odkazují na základní datové typy Pythonu. Toto je rozhraní mezi kódem a pojmenovanými oblastmi paměti počítače. Soubory provádějí funkci "uchování" objektů. Umožňují vám ukládat veškeré informace při jejich následném vykládce a zpracování. Budeme se dívat na to, jak napsat do souboru v Pythonu a zpětně přečíst data praktickými příklady.psaní do souboru v Pythonu

Jak mohu otevřít soubor?

Práce s tímto typem dat začíná vestavěnou funkcí otevřenou. Vytvoří objekt souboru, který umožňuje komunikaci s externím dokumentem v počítači. Po volání funkce můžete provádět operace čtení nebo zápisu souborů v Pythonu.

Pro začátečníky se práce se soubory zdá být obtížná. Odcházejí od obvyklých řádků, čísel, slovníků. Pro interakci s nimi nejsou literály sekvencí nebo mapování používány, pouze metody.

Většina metod je zaměřena na provádění vstupních a výstupních informací, ale existují i ​​ty specifické. Například příkaz output.flush (), který tlačí výstupní vyrovnávací paměti na disk. Ale začneme se učit, jak otevřít soubor.

První věcí je volat open (), předávat v závorce funkce, název externího souboru a způsob práce s ním:

  • r - znamená, že režim čtení bude ve výchozím nastavení otevřen;
  • w - zápis do souborů v Pythonu;
  • a - psát informace na samém konci dokumentu;
  • b - zpracování binárních souborů;
  • znak "+" znamená čtení a zápis současně.

Důležitým pravidlem je, že všechny argumenty musí být zadány jako doslovné řetězce, tj. V uvozovkách a odděleny čárkami:

  • > This_file = open ("C: odd", "w") # Příklad volání otevřené funkce IDE.

Python zapíše řetězec do souboru

Jak používat soubory?




Jakmile je soubor otevřený, můžete použít všechny jeho metody. Obsah pro čtení bude reprezentován jako řetězce. Chcete-li psát soubory v Pythonu, musí mít informace také podobu řetězcových objektů.

Seznam nejčastěji používaných operací:

  • input.read () - vrací informace jako jediný řetězec;
  • input.readline () - přečtěte si následující řádek;
  • input.readlines () - představuje soubor pro čtení úplně se seznamem řetězců;
  • .write () - psát řádky;
  • .writelines () - zaznamenávají všechny řádky;
  • .close () - ručně zavřete dokument.

psaní slovníku do souboru pythonu

Funkce práce se soubory

Všechny informace obsažené v souborech jsou reprezentovány jako řetězcové objekty. Proto před zahájením zpracování je třeba provést konverzi dat. Použijte vestavěné metody int () nebo list () k tomu. A také výrazy pro formátování řetězců.

Nepoužíváte metodu uzavření. Ale při práci s flush jsou uvolněny prostředky OS a výstupní vyrovnávací paměti jsou vysunuty. Ve výchozím nastavení je výstup přes mezipaměti. Při zápisu do souboru v Pythonu se informace nepřecházejí okamžitě na disk, ale pouze v době uzavření.

python json do souboru

Příklad zápisu do souboru

Podívejme se na příklad práce s textovým souborem v interaktivní relaci. Prvním krokem je otevření souboru v IDLE. Před vytvořením není nutné:

  • > first_f = otevřít ("first_file.txt", "w")
  • > first_fr.write ("Jakýkoli text n") # Napište řádky
  • 12.
  • > first_fr.write ("A opět jakýkoli text n")
  • 20
  • > first_file.close () # Zavřít;
  • > first_f = otevřít ("first_file.txt")
  • > first_read.readline () # Četli jsme, co je napsáno
  • "Jakýkoli text n"

Po zapsání řádku do souboru vrátí Python 3.0 počet vložených znaků. V předchozí verzi se to nestalo. Příklad použil znak konce řádku n. Bez ní bude písem psát vše v pevném textu.

Chcete-li číst obsah souboru bez určení n na konci, použijte metodu čtení:

  • > tisk (otevřít ("first_file.txt") číst ())
  • jakýkoli text;
  • a znovu jakýkoli text;

Každý řádek můžete vidět postupně iterací:

  • > pro x v otevřené ("first_file.txt"):
  • tisk (x, konec = «»)
  • jakýkoliv text
  • a znovu každý text # Každý nový řádek bude zobrazen odsazeně.

Uložení základních objektů Pythonu do souboru

V textovém souboru můžete uložit všechny vestavěné nebo ručně vytvořené objekty. Chcete-li psát soubory v Pythonu za řádek, musí být každý prvek převeden na řetězec. Nezapomeňte také, že metody neformátují data.

  • > example_2 = otevřít ("second_file.txt", "w")
  • > Seznam = [1.8, "r"]
  • > C, B, P = 34, 90, 56
  • > Str = "Soubor znaků"
  • > example_2.write (str (Seznam) + " n")
  • 12.
  • > example_2.write ("% s,% s,% s n"% (C, B, P)
  • 11
  • > example_2.write (Pp + " n")
  • 15
  • > example_2.close ()
  • > tisk (otevřít ("second_file.txt") číst ())
  • [1, 8, "r"]
  • 34, 90, 56
  • znaková sada

V tomto příkladu nejprve vytvoříte nový souborový soubor "second_file.txt" pro zápis. Pět jmen je přiřazeno hodnotám seznamu, řetězci a celých čísel. Před nahráváním se každý objekt převede na řetězec. Na konci se soubor otevře pomocí vestavěné funkce tisku a metody čtení.

python zapíše do řádku souboru podle řádku

Stejným principem píše Python slovník do souboru. Je nutné volat funkci str a předat jej jako argument objektu. Nejtěžší věcí není zachránit data, ale extrahovat je a vrátit zpět do slovníků nebo čísel.

Převod řetězců na jazykové objekty pomocí metody readline:

  • > L = otevřené ("second_file.txt")
  • > F = L.readline ()
  • > F
  • «34, 90, 56 n»
  • > Numbers = F.split (",") # Oddělit čárkami do podřetězců
  • > Čísla
  • ["34", "90", "56 n"]
  • > Čísla = [int (x) pro x v číslech] # Převést celý seznam
  • > Čísla
  • [34, 90, 56]

Nahrávání objektů pomocí speciálních modulů

Standardní knihovna obsahuje modul nazvaný pickle. Jedná se o velmi užitečný nástroj pro psaní a získávání informací. Zvláště když nevěříte zdroji souboru.

Modul je univerzální nástroj, který automaticky formátuje a převádí data. Chcete-li napsat objekt libovolného typu (slovník), stačí projít nálevkou:

  • > Slovník = {"osm": 8, "tři": 3, "nula": 0}
  • > Slovník
  • {"Osm": 8, "tři": 3, "nula": 0}
  • > dokument = otevřít ("my_document.pkl", "wb")
  • > míchat import
  • > pickle.dump (slovník, dokument)
  • > document.close ()
  • > dokument = otevřít ("my_document.pkl", "rb")
  • > D = vykládka (dokument)
  • > D
  • {"Osm": 8, "tři": 3, "nula": 0}

S modulem není potřeba ručně extrahovat a konvertovat data. Samotně provádí serializaci objektů v řetězci bajtů a zpět. Za tímto účelem se otevřou argumenty wb - write binary.

Stejně tak mouchy, "mohou" data mohou být pomocí modulu Python - JSON. Soubor je zapsán do souboru pomocí metody výpisu. Argumenty jsou uložené objekty, které jsou automaticky serializovány na řetězec JSON.

  • > importovat json
  • > Slovník = {"osm": 8, "tři": 3, "nula": 0}
  • > s otevřenou ("my_document.json", "w") jako m_d:
  • > json.dump (Slovník, m_d)

Existují také složitější způsoby práce se soubory. Například funkce skenování, organizace záznamových cyklů. Chcete-li zobrazit celý seznam metod, použijte pomocné nebo dirové funkce v interaktivní relaci. Také v arzenálu jazyka existují objekty podobné souborům, - zásuvkám, příkazovým skořápkům a proudům I / O.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru