<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.pitonas.lt/index.php?action=history&amp;feed=atom&amp;title=Knyga%2FFail%C5%B3_tvarkymas</id>
	<title>Knyga/Failų tvarkymas - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pitonas.lt/index.php?action=history&amp;feed=atom&amp;title=Knyga%2FFail%C5%B3_tvarkymas"/>
	<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;action=history"/>
	<updated>2026-10-07T03:30:01Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;diff=677&amp;oldid=prev</id>
		<title>ArturasNik 14:15, 5 rugpjūčio 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;diff=677&amp;oldid=prev"/>
		<updated>2025-08-05T14:15:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;amp;diff=677&amp;amp;oldid=621&quot;&gt;Rodyti skirtumus&lt;/a&gt;</summary>
		<author><name>ArturasNik</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;diff=621&amp;oldid=prev</id>
		<title>ArturasNik 11:39, 20 vasario 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;diff=621&amp;oldid=prev"/>
		<updated>2025-02-20T11:39:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;lt&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ankstesnė versija&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;14:39, 20 vasario 2025 versija&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1 eilutė:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1 eilutė:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{navigation}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{navigation &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|previous=Integruotosios funkcijos |next=Spausdinimas ir formatavimas&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Failų įvestis/išvestis ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Failų įvestis/išvestis ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l468&quot;&gt;468 eilutė:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;469 eilutė:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{navigation}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{navigation &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|previous=Integruotosios funkcijos |next=Spausdinimas ir formatavimas&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Knyga]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Knyga]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ArturasNik</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;diff=512&amp;oldid=prev</id>
		<title>ArturasNik: Naujas puslapis: {{navigation}}  === Failų įvestis/išvestis ===  Štai paprastas failo įvesties ir išvesties (I/O, ang. Input/Output) pavyzdys: &lt;syntaxhighlight lang=&quot;python&quot;&gt; # Rašyti į failą with open(&quot;testas.txt&quot;, &quot;wt&quot;) as rašomas_failas:     rašomas_failas.write(&quot;Šis tekstas bus išsiųstas į failą\nPažiūrėk ir pamatysi!&quot;)  # Skaityti failą with open(&quot;testas.txt&quot;, &quot;rt&quot;) as skaitomas_failas:     tekstas = skaitomas_failas.read()  print(tekstas) &lt;/syntaxhighlight&gt;  Failo...</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Knyga/Fail%C5%B3_tvarkymas&amp;diff=512&amp;oldid=prev"/>
		<updated>2024-10-10T10:13:46Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: {{navigation}}  === Failų įvestis/išvestis ===  Štai paprastas failo įvesties ir išvesties (I/O, ang. Input/Output) pavyzdys: &amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt; # Rašyti į failą with open(&amp;quot;testas.txt&amp;quot;, &amp;quot;wt&amp;quot;) as rašomas_failas:     rašomas_failas.write(&amp;quot;Šis tekstas bus išsiųstas į failą\nPažiūrėk ir pamatysi!&amp;quot;)  # Skaityti failą with open(&amp;quot;testas.txt&amp;quot;, &amp;quot;rt&amp;quot;) as skaitomas_failas:     tekstas = skaitomas_failas.read()  print(tekstas) &amp;lt;/syntaxhighlight&amp;gt;  Failo...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{navigation}}&lt;br /&gt;
&lt;br /&gt;
=== Failų įvestis/išvestis ===&lt;br /&gt;
&lt;br /&gt;
Štai paprastas failo įvesties ir išvesties (I/O, ang. Input/Output) pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Rašyti į failą&lt;br /&gt;
with open(&amp;quot;testas.txt&amp;quot;, &amp;quot;wt&amp;quot;) as rašomas_failas:&lt;br /&gt;
    rašomas_failas.write(&amp;quot;Šis tekstas bus išsiųstas į failą\nPažiūrėk ir pamatysi!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Skaityti failą&lt;br /&gt;
with open(&amp;quot;testas.txt&amp;quot;, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    tekstas = skaitomas_failas.read()&lt;br /&gt;
&lt;br /&gt;
print(tekstas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failo &amp;lt;code&amp;gt;testas.txt&amp;lt;/code&amp;gt; išvestis ir turinys yra:&lt;br /&gt;
&lt;br /&gt;
 Šis tekstas bus išsiųstas į failą&lt;br /&gt;
 Pažiūrėk ir pamatysi!&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad programa sukūrė failą pavadinimu &amp;lt;code&amp;gt;testas.txt&amp;lt;/code&amp;gt; kataloge, iš kurio paleidai programą.  Eilutėje esantis &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; nurodo Python&amp;#039;ui toje vietoje peršokti į naują eilutę.  &lt;br /&gt;
&lt;br /&gt;
Apžvelkime visus veiksmus su failais:&lt;br /&gt;
* Gauk failo objektą su funkcija &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;&lt;br /&gt;
* Skaityk iš arba rašyk į failo objektą (priklausomai nuo to, kokiu režimu jis buvo atidarytas)&lt;br /&gt;
* Jeigu failui atidaryti nenaudojai funkcijos &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt;, turėsi jį uždaryti rankiniu būdu&lt;br /&gt;
&lt;br /&gt;
Pirmas žingsnis yra gauti failo objektą. Tai galima padaryti naudojant funkciją &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;. Formatas yra &amp;lt;code&amp;gt;failo_objektas = open(failo_pavadinimas, režimas)&amp;lt;/code&amp;gt;, kur &amp;lt;code&amp;gt;failo_objektas&amp;lt;/code&amp;gt; yra kintamasis, į kurį reikia įdėti failo objektą, &amp;lt;code&amp;gt;failo_pavadinimas&amp;lt;/code&amp;gt; yra eilutė su failo pavadinimu, o &amp;lt;code&amp;gt;režimas&amp;lt;/code&amp;gt; yra &amp;lt;code&amp;gt;&amp;quot;rt&amp;quot;&amp;lt;/code&amp;gt;, kad (ang. &amp;#039;&amp;#039;r&amp;#039;&amp;#039;ead) skaityti failą kaip &amp;#039;&amp;#039;t&amp;#039;&amp;#039;ekstą arba &amp;lt;code&amp;gt;&amp;quot;wt&amp;quot;&amp;lt;/code&amp;gt; (&amp;#039;&amp;#039;w&amp;#039;&amp;#039;rite) rašytį į failą kaip &amp;#039;&amp;#039;t&amp;#039;&amp;#039;ekstą (ir keletą kitų režimų, kuriuos čia praleisime). Toliau galima iškviesti failų objektų funkcijas. Dvi dažniausiai naudojamos funkcijos yra &amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; (skaityti) ir &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; (rašyti). Funkcija &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; prideda eilutę prie failo pabaigos. Funkcija &amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; nuskaito failo turinį ir grąžina jį kaip eilutę (kaip padaryta pavyzdyje). &lt;br /&gt;
&lt;br /&gt;
O dabar čia yra nauja telefono numerių programos versija, kurią jau sukūrei anksčiau:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_numerius(numeriai):&lt;br /&gt;
    print(&amp;quot;Telefono numeriai:&amp;quot;)&lt;br /&gt;
    for k, v in numeriai.items():&lt;br /&gt;
        print(&amp;quot;Vardas:&amp;quot;, k, &amp;quot;\tTelefono numeris:&amp;quot;, v)&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
def pridėk_numerį(numeriai, vardas, numeris):&lt;br /&gt;
    numeriai[vardas] = numeris&lt;br /&gt;
&lt;br /&gt;
def surask_numerį(numeriai, vardas):&lt;br /&gt;
    if vardas in numeriai:&lt;br /&gt;
        return &amp;quot;Telefono numeris yra &amp;quot; + numeriai[vardas]&lt;br /&gt;
    else:&lt;br /&gt;
        return vardas + &amp;quot; nebuvo rastas&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def pašalink_numerį(numeriai, vardas):&lt;br /&gt;
    if vardas in numeriai:&lt;br /&gt;
        del numeriai[vardas]&lt;br /&gt;
    else:&lt;br /&gt;
        print(vardas,&amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def įkelti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    skaitymo_failas = open(failo_pavadinimas, &amp;quot;rt&amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        skaitoma_eilutė = skaitymo_failas.readline()&lt;br /&gt;
        if not skaitoma_eilutė:&lt;br /&gt;
            break&lt;br /&gt;
        skaitoma_eilutė = skaitoma_eilutė[:-1]&lt;br /&gt;
        vardas, numeris = skaitoma_eilutė.split(&amp;quot;,&amp;quot;)&lt;br /&gt;
        numeriai[vardas] = numeris&lt;br /&gt;
    skaitymo_failas.close()&lt;br /&gt;
&lt;br /&gt;
def išsaugoti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    išvesties_failas = open(failo_pavadinimas, &amp;quot;wt&amp;quot;)&lt;br /&gt;
    for k, v in numeriai.items():&lt;br /&gt;
        išvesties_failas.write(k + &amp;quot;,&amp;quot; + v + &amp;quot;\n&amp;quot;)&lt;br /&gt;
    išvesties_failas.close()&lt;br /&gt;
&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print(&amp;#039;1. Spausdink telefonų numerius&amp;#039;)&lt;br /&gt;
    print(&amp;#039;2. Pridėk telefono numerį&amp;#039;)&lt;br /&gt;
    print(&amp;#039;3. Pašalink telefono numerį&amp;#039;)&lt;br /&gt;
    print(&amp;#039;4. Ieškok telefono numerio&amp;#039;)&lt;br /&gt;
    print(&amp;#039;5. Įkelk telefono numerius&amp;#039;)&lt;br /&gt;
    print(&amp;#039;6. Išsaugok telefono numerius&amp;#039;)&lt;br /&gt;
    print(&amp;#039;7. Išeik&amp;#039;)&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
numeriai = {}&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
spausdink_meniu()&lt;br /&gt;
while True:&lt;br /&gt;
    meniu_pasirinkimas = int(input(&amp;quot;Įvesk skaičių (1-7): &amp;quot;))&lt;br /&gt;
    if meniu_pasirinkimas == 1:&lt;br /&gt;
        spausdink_numerius(numeriai)&lt;br /&gt;
    elif meniu_pasirinkimas == 2:&lt;br /&gt;
        print(&amp;quot;Pridėk vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        numeris = input(&amp;quot;Telefono numeris: &amp;quot;)&lt;br /&gt;
        pridėk_numerį(numeriai, vardas, numeris)&lt;br /&gt;
    elif meniu_pasirinkimas == 3:&lt;br /&gt;
        print(&amp;quot;Pašalink vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        pašalink_numerį(numeriai, vardas)&lt;br /&gt;
    elif meniu_pasirinkimas == 4:&lt;br /&gt;
        print(&amp;quot;Ieškok telefono numerio&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        print(surask_numerį(numeriai, vardas))&lt;br /&gt;
    elif meniu_pasirinkimas == 5:&lt;br /&gt;
        failo_pavadinimas = input(&amp;quot;Failo pavadinimas, kurį nori įkelti: &amp;quot;)&lt;br /&gt;
        įkelti_numerius(numeriai, failo_pavadinimas)&lt;br /&gt;
    elif meniu_pasirinkimas == 6:&lt;br /&gt;
        failo_pavadinimas = input(&amp;quot;Failo pavadinimas išsaugojimui: &amp;quot;)&lt;br /&gt;
        išsaugoti_numerius(numeriai, failo_pavadinimas)&lt;br /&gt;
    elif meniu_pasirinkimas == 7:&lt;br /&gt;
        break&lt;br /&gt;
    else:&lt;br /&gt;
        spausdink_meniu()&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Viso!&amp;quot;)  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad dabar kodas papildomai išsaugo ir perskaito failus. Štai dviejų programos vykdymų išvestis:&lt;br /&gt;
&lt;br /&gt;
 1. Spausdink telefonų numerius&lt;br /&gt;
 2. Pridėk telefono numerį&lt;br /&gt;
 3. Pašalink telefono numerį&lt;br /&gt;
 4. Ieškok telefono numerio&lt;br /&gt;
 5. Įkelk telefono numerius&lt;br /&gt;
 6. Išsaugok telefono numerius&lt;br /&gt;
 7. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: &amp;#039;&amp;#039;&amp;#039;Liepa&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Telefono numeris: &amp;#039;&amp;#039;&amp;#039;1234&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: &amp;#039;&amp;#039;&amp;#039;Benas&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Telefono numeris: &amp;#039;&amp;#039;&amp;#039;4321&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Telefono numeriai:&lt;br /&gt;
 Vardas: Liepa     Telefono numeris: 1234&lt;br /&gt;
 Vardas: Benas     Telefono numeris: 4321&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Failo pavadinimas išsaugojimui: &amp;#039;&amp;#039;&amp;#039;numeriai.txt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;7&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Viso!&lt;br /&gt;
&lt;br /&gt;
 1. Spausdink telefonų numerius&lt;br /&gt;
 2. Pridėk telefono numerį&lt;br /&gt;
 3. Pašalink telefono numerį&lt;br /&gt;
 4. Ieškok telefono numerio&lt;br /&gt;
 5. Įkelk telefono numerius&lt;br /&gt;
 6. Išsaugok telefono numerius&lt;br /&gt;
 7. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Failo pavadinimas, kurį nori įkelti: &amp;#039;&amp;#039;&amp;#039;numeriai.txt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Telefono numeriai:&lt;br /&gt;
 Vardas: Liepa     Telefono numeris: 1234&lt;br /&gt;
 Vardas: Benas     Telefono numeris: 4321&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): &amp;#039;&amp;#039;&amp;#039;7&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Viso!&lt;br /&gt;
&lt;br /&gt;
Naujos šios programos dalys yra:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def įkelti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    skaitymo_failas = open(failo_pavadinimas, &amp;quot;rt&amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        skaitoma_eilutė = skaitymo_failas.readline()&lt;br /&gt;
        if not skaitoma_eilutė:&lt;br /&gt;
            break&lt;br /&gt;
        skaitoma_eilutė = skaitoma_eilutė[:-1]&lt;br /&gt;
        vardas, numeris = skaitoma_eilutė.split(&amp;quot;,&amp;quot;)&lt;br /&gt;
        numeriai[vardas] = numeris&lt;br /&gt;
    skaitymo_failas.close()&lt;br /&gt;
&lt;br /&gt;
def išsaugoti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    išvesties_failas = open(failo_pavadinimas, &amp;quot;wt&amp;quot;)&lt;br /&gt;
    for k, v in numeriai.items():&lt;br /&gt;
        išvesties_failas.write(k + &amp;quot;,&amp;quot; + v + &amp;quot;\n&amp;quot;)&lt;br /&gt;
    išvesties_failas.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pirmiausia pažiūrėk į programos išsaugojimo dalį. Visų pirma, sukuriamas failo objektas su komanda &amp;lt;code&amp;gt;open(failo_pavadinimas, &amp;quot;wt&amp;quot;)&amp;lt;/code&amp;gt;. Toliau sukuriama eilutė kiekvienam telefono numeriui su komanda &amp;lt;code&amp;gt;išvesties_failas.write(k + &amp;quot;,&amp;quot; + v + &amp;quot;\n&amp;quot;)&amp;lt;/code&amp;gt;. Tai išrašo eilutę, kurioje yra vardas, kablelis, telefono numeris, o po jos rašoma nauja eilutė.&lt;br /&gt;
&lt;br /&gt;
Failo skaitymo dalis yra šiek tiek sudėtingesnė. Ji prasideda failo objekto gavimu. Tada ji naudoja &amp;lt;code&amp;gt;while True:&amp;lt;/code&amp;gt; ciklą, kad tęstųsi ciklas tol, kol bus aptikta komanda &amp;lt;code&amp;gt;break&amp;lt;/code&amp;gt;. Komanda &amp;lt;code&amp;gt;skaitoma_eilutė = skaitymo_failas.readline()&amp;lt;/code&amp;gt; perskaito pirmą eilutę ir priskiria kintamajam &amp;lt;code&amp;gt;skaitome_eilutė&amp;lt;/code&amp;gt;. Pasiekus failo pabaigą, funkcija &amp;lt;code&amp;gt;readline&amp;lt;/code&amp;gt; grąžins tuščią eilutę. Sąlyginis sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tai patikrina ir panaudojant komandą &amp;lt;code&amp;gt;break&amp;lt;/code&amp;gt; nutraukia &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą. Funkcija &amp;lt;code&amp;gt;readline&amp;lt;/code&amp;gt; perskaito ir grąžina vieną eilutę kartu su jos pabaigos simboliu. Tai yra tam, kad būtų galima spręsti ar tai yra tik tuščia eilutė, ar jau failo pabaiga. Taigi turime atsikratyti to paskutinio eilutės pabaigos simbolio. Komanda &amp;lt;code&amp;gt;skaitoma_eilutė = skaitoma_eilutė[:-1]&amp;lt;/code&amp;gt; tai padaro už mus, išmesdama paskutinį simbolį. Toliau eilutė &amp;lt;code&amp;gt;vardas, numeris = skaitoma_eilutė.split(&amp;quot;,&amp;quot;)&amp;lt;/code&amp;gt; padalija eilutę ties kableliu į vardą ir telefono numerį ir visa tai įtraukiama į &amp;lt;code&amp;gt;numeriai&amp;lt;/code&amp;gt; žodyną.&lt;br /&gt;
&lt;br /&gt;
=== Darbo su failais rėžimai ===&lt;br /&gt;
Be &amp;lt;code&amp;gt;&amp;quot;rt&amp;quot;&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;&amp;quot;wt&amp;quot;&amp;lt;/code&amp;gt; yra ir kitų darbo su failais rėžimų. Lentelėje rasi visų rėžimų sąrašą:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Rėžimas&lt;br /&gt;
!Paaiškinimas&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;rt&amp;quot;&lt;br /&gt;
|Tekstinio failo nuskatymas&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;wt&amp;quot;&lt;br /&gt;
|Teksto rašymas į failą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;xt&amp;quot;&lt;br /&gt;
|Naujo teskinio failo kūrimas. Jei toks failas jau egzistuoja bus gaunama klaida&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;at&amp;quot;&lt;br /&gt;
|Tekstinio failo papildymas. Failo turinys bus pildomas nuo edamo failo pabaigos&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;r&amp;quot;&lt;br /&gt;
|Sinonimas &amp;quot;rt&amp;quot; rėžimui. Tekstinio failo nuskatymas&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;w&amp;quot;&lt;br /&gt;
|Sinonimas &amp;quot;w&amp;quot; rėžimui. Teksto rašymas į failą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;x&amp;quot;&lt;br /&gt;
|Sinonimas &amp;quot;x&amp;quot; rėžimui. Naujo teskinio failo kūrimas. Jei toks failas jau egzistuoja bus gaunama klaida&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;a&amp;quot;&lt;br /&gt;
|Sinonimas &amp;quot;a&amp;quot; rėžimui. Tekstinio failo papildymas. Failo turinys bus pildomas nuo edamo failo pabaigos&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;rb&amp;quot;&lt;br /&gt;
|Dvejetainio duomenų failo nuskatymas&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;wb&amp;quot;&lt;br /&gt;
|Dvejetainės informacijos rašymas į failą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;xb&amp;quot;&lt;br /&gt;
|Naujo dvejetainio failo kūrimas. Jei toks failas jau egzistuoja bus gaunama klaida&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;ab&amp;quot;&lt;br /&gt;
|Dvejetainio failo papildymas. Failo turinys bus pildomas nuo edamo failo pabaigos&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;r+&amp;quot;&lt;br /&gt;
|Tekstinio failo skaitymas ir rašymas. Esamas failo turinys nėra išvalomas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;w+&amp;quot;&lt;br /&gt;
|Tekstinio failo skaitymas ir rašymas. Esamas failo turinys yra išvalomas rašant į failą.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;r+b&amp;quot;&lt;br /&gt;
|Dvejetainio failo skaitymas ir rašymas. Esamas failo turinys nėra išvalomas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;w+b&amp;quot;&lt;br /&gt;
|Dvejetainio failo skaitymas ir rašymas. Esamas failo turinys yra išvalomas rašant į failą.&lt;br /&gt;
|}&lt;br /&gt;
Dvvejetainiai rėžimai šiame vadovėlyje plačiau nagrinėjami nėra&lt;br /&gt;
&lt;br /&gt;
=== Pagrindinės darbo su tekstiniais failais operacijos ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operacija&lt;br /&gt;
!Paaiškinimas&lt;br /&gt;
|-&lt;br /&gt;
|failas.read()&lt;br /&gt;
|Nuskaitomas visas failo turinys&lt;br /&gt;
|-&lt;br /&gt;
|failas.read(kiek)&lt;br /&gt;
|Nuskaitomas nuordytas simbolių kiekis iš failo. Pvz naudojant failas.read(3) bus nuskaitomi 3 sekantys simboliai&lt;br /&gt;
|-&lt;br /&gt;
|failas.readline()&lt;br /&gt;
|Nuskaitoma sekanti failo eilutė&lt;br /&gt;
|-&lt;br /&gt;
|failas.readlines()&lt;br /&gt;
|Nuskaitomos visos failo eilutės. Gražinamas sąrašas sudarytas iš teksto eilučių&lt;br /&gt;
|-&lt;br /&gt;
|failas.close()&lt;br /&gt;
|Failo uždarymas. Uždarius failą veiksmai su juo negalimi. Atidarant failą naudojant with funkciją, jis bus uždarytas automatiškai, tad close() naudoti nebereikia&lt;br /&gt;
|-&lt;br /&gt;
|failas.write(rašomas_tesktas)&lt;br /&gt;
|Įrašo nurodytą tekstą į failą.&lt;br /&gt;
|-&lt;br /&gt;
|failas.writelines(rašomo_teksto_eilučių_sąrašas)&lt;br /&gt;
|Sąrašas sudarytas iš teskto eilučių yra įrašomas į failą. Kiekvienas sąrašo elementas bus įrašomas naujoje eilutėje&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Paketinis ir interaktyvus failų apdorojimas ===&lt;br /&gt;
&lt;br /&gt;
Failai gali būti apdorojami įvairiais būdais. Vieni iš dažniausiai naudojamų ir naudingiausių būdų - tai paketinis duomenų apdorojimas ir interaktyvus duomenų apdorojimas.&lt;br /&gt;
&lt;br /&gt;
Skaitymas iš failo yra vadinamas paketiniu duomenų apdorojimu, nes visi duomenys iš failo yra nuskaitomi ir apdorojami kaip vienas paketas. Tai reiškia, kad visi duomenys yra nuskaitomi iš failo į kompiuterio atmintį vienu metu ir toliau apdorojami kompiuterio procesorių, o ne tiesiogiai iš failo.&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiui, jei turi didelio dydžio tekstinį failą ir nori jį apdoroti programoje, failas bus nuskaitomas į atmintį ir tada apdorotas kaip vienas paketas, o ne kaip atskiri duomenų elementai.&lt;br /&gt;
&lt;br /&gt;
Interaktyvus duomenų apdorojimas – tai būdas dirbti su duomenimis, kai vartotojas gali manipuliuoti įvairiais nustatymais, o ne laikytis iš anksto užprogramuotų algoritmų. Tai leidžia geriau valdyti rezultatus ir geriau suprasti duomenis.&lt;br /&gt;
&lt;br /&gt;
=== Pažangesnis .txt failų naudojimas ===&lt;br /&gt;
&lt;br /&gt;
Galbūt tau kyla toks klausimas: „Aš žinau, kaip skaityti ir rašyti tekstinį failą, bet ką daryti, jei noriu atspausdinti failą spausdintuvu?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Yra keletas skirtingų būdų, kaip tai padaryti. Iš tikrųjų, pats lengviausias būdas yra atidaryti kitą programą, tada leisti viskuo pasirūpinti Python&amp;#039;o kodui, kad tau nereikėtų pačiam failo atidarinėti ir spausdinti. Šis metodas apima kitos programos subproceso (arba antrinis procesas; biblioteka &amp;#039;subprocess&amp;#039;) iškvietimą. &lt;br /&gt;
&lt;br /&gt;
Prisimeni failą, į kurį įrašėme išvestį aukščiau esančioje programoje? Panaudokime tą failą.&lt;br /&gt;
Turėk omenyje, kad norint išvengti klaidų, ši programa naudoja sąvokas iš kito skyriaus. Nedvejodamas gali dar kartą peržiūrėti šį pavyzdį po kito skyriaus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
import subprocess&lt;br /&gt;
def pagrindinis():&lt;br /&gt;
    try:&lt;br /&gt;
        print(&amp;quot;Ši maža programa iškviečia spausdinimo funkciją Notepad programoje&amp;quot;)&lt;br /&gt;
        #Atspausdinkime failą, kurį sukūrėme aukščiau esančioje programoje&lt;br /&gt;
        subprocess.call([&amp;#039;notepad&amp;#039;,&amp;#039;/p&amp;#039;,&amp;#039;numeriai.txt&amp;#039;])&lt;br /&gt;
    except WindowsError:&lt;br /&gt;
        print(&amp;quot;Pakviesto subproceso nėra arba jo negalima iškviesti.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pagrindinis()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;subprocess.call&amp;lt;/code&amp;gt; turi tris argumentus. Pirmasis argumentas šio pavyzdžio kontekste turėtų būti programos pavadinimas, iš kurios nori iškviesti spausdinimo subprocesą. Antrasis argumentas turėtų būti konkretus tos programos subprocesas. Kad būtų paprasčiau, tiesiog suprask, kad šioje programoje &amp;lt;code&amp;gt;&amp;#039;/p&amp;#039;&amp;lt;/code&amp;gt; yra subprocesas, naudojamas norint pasiekti spausdintuvą per nurodytą programą. Paskutinis argumentas turėtų būti failo pavadinimas, kurį norite siųsti į spausdinimo subprocesą. Šiuo atveju tai yra tas pats failas, naudotas anksčiau šiame skyriuje.&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
1. Parašyk programą, kuri suskaičiuotų, kiek faile yra eilučių.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
failas = input(&amp;quot;Kokio failo eilutes skaičiuoti? &amp;quot;)&lt;br /&gt;
įvesties_failas = open(failas, &amp;quot;r&amp;quot;)&lt;br /&gt;
eilutės = įvesties_failas.readlines()&lt;br /&gt;
įvesties_failas.close()&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Failas&amp;quot;, failas, &amp;quot;turi&amp;quot;, len(eilutės), &amp;quot; eilutes&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Parašyk programą, kuri nukopijuotų vieno failo lygines eilutes į kitą failą.&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
įvesties_failo_pavadinimas = input(&amp;quot;Kokio failo eilutes kopijuoti? &amp;quot;)&lt;br /&gt;
įvesties_failas = open(įvesties_failo_pavadinimas, &amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
išvesties_failo_pavadinimas = input(&amp;quot;Į kokį failą išsaugoti lygines eilutes? &amp;quot;)&lt;br /&gt;
išvesties_failas = open(išvesties_failo_pavadinimas, &amp;quot;w&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
eilutės_numeris = 0&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    eilutė = įvesties_failas.readline()&lt;br /&gt;
    eilutės_numeris = eilutės_numeris + 1&lt;br /&gt;
    if not eilutė:&lt;br /&gt;
        break&lt;br /&gt;
    else:&lt;br /&gt;
        if (eilutės_numeris % 2) == 0:&lt;br /&gt;
            išvesties_failas.write(eilutė)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
įvesties_failas.close()&lt;br /&gt;
išvesties_failas.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Dabar pakeisk pažymių programą iš skyriaus [[Vadovėlis/Žodynai|Žodynai]], kad ji naudotų failus mokinių pažymiams saugoti.&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
užduotys = [&amp;#039;nd sk 1&amp;#039;, &amp;#039;nd sk 2&amp;#039;, &amp;#039;viktorina   &amp;#039;, &amp;#039;nd sk 3&amp;#039;, &amp;#039;testas&amp;#039;]&lt;br /&gt;
mokiniai = { }&lt;br /&gt;
&lt;br /&gt;
def įkelti_pažymius(pažymių_failas):&lt;br /&gt;
    įvesties_failas = open(pažymių_failas, &amp;quot;r&amp;quot;)&lt;br /&gt;
    pažymiai = [ ]&lt;br /&gt;
    while True:&lt;br /&gt;
        mokinys_ir_pažymys = įvesties_failas.readline()&lt;br /&gt;
        mokinys_ir_pažymys = mokinys_ir_pažymys[:-1]&lt;br /&gt;
        if not mokinys_ir_pažymys:&lt;br /&gt;
            break&lt;br /&gt;
        else:&lt;br /&gt;
            mokinio_vardas, mokinio_pažymiai = mokinys_ir_pažymys.split(&amp;quot;,&amp;quot;)&lt;br /&gt;
            mokinio_pažymiai = mokinio_pažymiai.split(&amp;quot; &amp;quot;)&lt;br /&gt;
            mokiniai[mokinio_vardas] = mokinio_pažymiai&lt;br /&gt;
    įvesties_failas.close()&lt;br /&gt;
    print(&amp;quot;Pažymiai įkelti.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def išsaugoti_pažymius(pažymių_failas):&lt;br /&gt;
    išvesties_failas = open(pažymių_failas, &amp;quot;w&amp;quot;)&lt;br /&gt;
    for k, v in mokiniai.items():&lt;br /&gt;
        išvesties_failas.write(k + &amp;quot;,&amp;quot;)&lt;br /&gt;
        for x in v:&lt;br /&gt;
            išvesties_failas.write(str(x) + &amp;quot; &amp;quot;)&lt;br /&gt;
        išvesties_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
    išvesties_failas.close()&lt;br /&gt;
    print(&amp;quot;Pažymiai išsaugoti.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print(&amp;quot;1. Pridėk mokinį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2. Pašalink mokinį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3. Įkrauti pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;4. Įrašyk pažymį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;5. Spausdink pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;6. Įšsaugoti pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;7. Spausdink meniu&amp;quot;)&lt;br /&gt;
    print(&amp;quot;9. Išeik&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_visus_pažymius():&lt;br /&gt;
    if mokiniai:&lt;br /&gt;
        raktai = sorted(mokiniai.keys())&lt;br /&gt;
        print(&amp;#039;\t&amp;#039;, end=&amp;#039; &amp;#039;)&lt;br /&gt;
        for x in užduotys:&lt;br /&gt;
            print(x, &amp;#039;\t&amp;#039;, end=&amp;#039; &amp;#039;)&lt;br /&gt;
        print()&lt;br /&gt;
        for x in raktai:&lt;br /&gt;
            print(x, &amp;#039;\t&amp;#039;, end=&amp;#039; &amp;#039;)&lt;br /&gt;
            pažymiai = mokiniai[x]&lt;br /&gt;
            spausdink_pažymius(pažymiai)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neradau pažymių spausdinimui.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_pažymius(pažymiai):&lt;br /&gt;
    for x in pažymiai:&lt;br /&gt;
        print(x, &amp;#039;\t&amp;#039;, end=&amp;#039; &amp;#039;)&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
spausdink_meniu()&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
while meniu_pasirinkimas != 9:&lt;br /&gt;
    print()&lt;br /&gt;
    meniu_pasirinkimas = int(input(&amp;quot;Meniu pasirinkimas: &amp;quot;))&lt;br /&gt;
    if meniu_pasirinkimas == 1:&lt;br /&gt;
        vardas = input(&amp;quot;Pridėk mokinį: &amp;quot;)&lt;br /&gt;
        mokiniai[vardas] = [0] * len(užduotys)&lt;br /&gt;
    elif meniu_pasirinkimas == 2:&lt;br /&gt;
        vardas = input(&amp;quot;Pašalink mokinį: &amp;quot;)&lt;br /&gt;
        if vardas in mokiniai:&lt;br /&gt;
            del mokiniai[vardas]&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Mokinys vardu:&amp;quot;, vardas, &amp;quot; nerastas.&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas == 3:&lt;br /&gt;
        pažymių_failas = input(&amp;quot;Įkrauti pažymius iš kokio failo? &amp;quot;)&lt;br /&gt;
        įkelti_pažymius(pažymių_failas)&lt;br /&gt;
    elif meniu_pasirinkimas == 4:&lt;br /&gt;
        print(&amp;quot;Įrašyk pažymį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Mokinys: &amp;quot;)&lt;br /&gt;
        if vardas in mokiniai:&lt;br /&gt;
            pažymiai = mokiniai[vardas]&lt;br /&gt;
            print(&amp;quot;Įrašyk mokinio pažymį&amp;quot;)&lt;br /&gt;
            print(&amp;quot;Įrašyk 0 (nulį), kad išeitum&amp;quot;)&lt;br /&gt;
            for i,x in enumerate(užduotys):&lt;br /&gt;
                print(i + 1, x, &amp;#039;\t&amp;#039;, end=&amp;#039; &amp;#039;)&lt;br /&gt;
            print()&lt;br /&gt;
            spausdink_pažymius(pažymiai)&lt;br /&gt;
            kuris = 1234&lt;br /&gt;
            while kuris != -1:&lt;br /&gt;
                kuris = int(input(&amp;quot;Pažymys, kurį nori pakeisti: &amp;quot;))&lt;br /&gt;
                kuris -= 1&lt;br /&gt;
                if 0 &amp;lt;= kuris &amp;lt; len(pažymiai):&lt;br /&gt;
                    pažymys = int(input(&amp;quot;Pažymys: &amp;quot;))&lt;br /&gt;
                    pažymiai[kuris] = pažymys&lt;br /&gt;
                elif kuris != -1:&lt;br /&gt;
                    print(&amp;quot;Klaidingas pažymys&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Mokinys nerastas&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas == 5:&lt;br /&gt;
        spausdink_visus_pažymius()&lt;br /&gt;
    elif meniu_pasirinkimas == 6:&lt;br /&gt;
        pažymių_failas = input(&amp;quot;Į kokį failą išsaugoti pažymius? &amp;quot;)&lt;br /&gt;
        išsaugoti_pažymius(pažymių_failas)&lt;br /&gt;
    elif meniu_pasirinkimas != 9:&lt;br /&gt;
        spausdink_meniu()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation}}&lt;br /&gt;
[[Category:Knyga]]&lt;/div&gt;</summary>
		<author><name>ArturasNik</name></author>
	</entry>
</feed>