{"id":55,"date":"2025-09-24T22:15:00","date_gmt":"2025-09-24T20:15:00","guid":{"rendered":"http:\/\/python-ai.pl\/?p=55"},"modified":"2025-09-24T22:15:00","modified_gmt":"2025-09-24T20:15:00","slug":"praca-z-plikami","status":"publish","type":"post","link":"https:\/\/python-ai.pl\/?p=55","title":{"rendered":"Praca z plikami"},"content":{"rendered":"\n<div class=\"wp-block-group has-background\" style=\"background-color:#7da4c3\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading\">Praca z plikami w Pythonie<\/h4>\n\n\n\n<p>Python oferuje pot\u0119\u017cne narz\u0119dzia do pracy z plikami. Mo\u017cesz czyta\u0107, zapisywa\u0107 i zarz\u0105dza\u0107 r\u00f3\u017cnymi typami plik\u00f3w.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Podstawowe operacje na plikach:<\/h4>\n\n\n\n<p>U\u017cywamy funkcji <code>open()<\/code> do otwierania plik\u00f3w:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Otwieranie pliku do odczytu\nwith open(&quot;przyklad.txt&quot;, &quot;r&quot;) as file:\n    content = file.read()\n    print(content)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Otwieranie pliku do odczytu<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;przyklad.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    content = file.read()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(content)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Tryby otwierania plik\u00f3w:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\"r\"<\/code> &#8211; odczyt (domy\u015blny)<\/li>\n\n\n\n<li><code>\"w\"<\/code> &#8211; zapis (nadpisuje plik)<\/li>\n\n\n\n<li><code>\"a\"<\/code> &#8211; dopisywanie (dodaje na ko\u0144cu)<\/li>\n\n\n\n<li><code>\"r+\"<\/code> &#8211; odczyt i zapis<\/li>\n\n\n\n<li><code>\"b\"<\/code> &#8211; tryb binarny (np. &#8222;rb&#8221;, &#8222;wb&#8221;)<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Zapisywanie do pliku:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Zapisywanie tekstu do pliku\nwith open(&quot;notatki.txt&quot;, &quot;w&quot;) as file:\n    file.write(&quot;To jest pierwsza linia\\n&quot;)\n    file.write(&quot;To jest druga linia\\n&quot;)\n    file.write(&quot;Python jest \u015bwietny!&quot;)\n\nprint(&quot;Plik zosta\u0142 zapisany!&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Zapisywanie tekstu do pliku<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;notatki.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;w&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    file.write(<\/span><span style=\"color: #CE9178\">&quot;To jest pierwsza linia<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    file.write(<\/span><span style=\"color: #CE9178\">&quot;To jest druga linia<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    file.write(<\/span><span style=\"color: #CE9178\">&quot;Python jest \u015bwietny!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Plik zosta\u0142 zapisany!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Dodawanie do pliku:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Dodawanie tekstu na ko\u0144cu pliku\nwith open(&quot;notatki.txt&quot;, &quot;a&quot;) as file:\n    file.write(&quot;\\nTo jest nowa linia dodana p\u00f3\u017aniej\\n&quot;)\n    file.write(&quot;Koniec pliku&quot;)\n\nprint(&quot;Tekst zosta\u0142 dodany do pliku!&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Dodawanie tekstu na ko\u0144cu pliku<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;notatki.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;a&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    file.write(<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">To jest nowa linia dodana p\u00f3\u017aniej<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    file.write(<\/span><span style=\"color: #CE9178\">&quot;Koniec pliku&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Tekst zosta\u0142 dodany do pliku!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">R\u00f3\u017cne sposoby czytania pliku:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Czytanie ca\u0142ego pliku jako string\nwith open(&quot;przyklad.txt&quot;, &quot;r&quot;) as file:\n    content = file.read()\n    print(&quot;Ca\u0142y plik:&quot;)\n    print(content)\n\n# Czytanie linia po linii\nwith open(&quot;przyklad.txt&quot;, &quot;r&quot;) as file:\n    print(&quot;\\nLinia po linii:&quot;)\n    for line in file:\n        print(f&quot;Linia: {line.strip()}&quot;)\n\n# Czytanie wszystkich linii jako lista\nwith open(&quot;przyklad.txt&quot;, &quot;r&quot;) as file:\n    lines = file.readlines()\n    print(&quot;\\nLista linii:&quot;)\n    for i, line in enumerate(lines):\n        print(f&quot;Linia {i+1}: {line.strip()}&quot;)\n\n# Czytanie tylko pierwszej linii\nwith open(&quot;przyklad.txt&quot;, &quot;r&quot;) as file:\n    first_line = file.readline()\n    print(f&quot;\\nPierwsza linia: {first_line.strip()}&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Czytanie ca\u0142ego pliku jako string<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;przyklad.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    content = file.read()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Ca\u0142y plik:&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(content)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Czytanie linia po linii<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;przyklad.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">Linia po linii:&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> line <\/span><span style=\"color: #C586C0\">in<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Linia: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">line.strip()<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Czytanie wszystkich linii jako lista<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;przyklad.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    lines = file.readlines()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">Lista linii:&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> i, line <\/span><span style=\"color: #C586C0\">in<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">enumerate<\/span><span style=\"color: #D4D4D4\">(lines):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Linia <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">i+<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">line.strip()<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Czytanie tylko pierwszej linii<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;przyklad.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    first_line = file.readline()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">Pierwsza linia: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">first_line.strip()<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Praca z plikami CSV:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"import csv\n\n# Zapisywanie danych CSV\ndata = [\n    &#91;&quot;Imi\u0119&quot;, &quot;Wiek&quot;, &quot;Miasto&quot;&#93;,\n    &#91;&quot;Jan&quot;, &quot;25&quot;, &quot;Warszawa&quot;&#93;,\n    &#91;&quot;Anna&quot;, &quot;30&quot;, &quot;Krak\u00f3w&quot;&#93;,\n    &#91;&quot;Piotr&quot;, &quot;28&quot;, &quot;Gda\u0144sk&quot;&#93;\n]\n\nwith open(&quot;osoby.csv&quot;, &quot;w&quot;, newline=&quot;&quot;) as file:\n    writer = csv.writer(file)\n    writer.writerows(data)\n\nprint(&quot;Plik CSV zosta\u0142 utworzony!&quot;)\n\n# Czytanie danych CSV\nwith open(&quot;osoby.csv&quot;, &quot;r&quot;) as file:\n    reader = csv.reader(file)\n    for row in reader:\n        print(f&quot;Imi\u0119: {row&#91;0&#93;}, Wiek: {row&#91;1&#93;}, Miasto: {row&#91;2&#93;}&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> csv<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Zapisywanie danych CSV<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">data = [<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    &#91;<\/span><span style=\"color: #CE9178\">&quot;Imi\u0119&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;Wiek&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;Miasto&quot;<\/span><span style=\"color: #D4D4D4\">&#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    &#91;<\/span><span style=\"color: #CE9178\">&quot;Jan&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;25&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;Warszawa&quot;<\/span><span style=\"color: #D4D4D4\">&#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    &#91;<\/span><span style=\"color: #CE9178\">&quot;Anna&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;30&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;Krak\u00f3w&quot;<\/span><span style=\"color: #D4D4D4\">&#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    &#91;<\/span><span style=\"color: #CE9178\">&quot;Piotr&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;28&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;Gda\u0144sk&quot;<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;osoby.csv&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;w&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">newline<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    writer = csv.writer(file)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    writer.writerows(data)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Plik CSV zosta\u0142 utworzony!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Czytanie danych CSV<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;osoby.csv&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    reader = csv.reader(file)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> row <\/span><span style=\"color: #C586C0\">in<\/span><span style=\"color: #D4D4D4\"> reader:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Imi\u0119: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">row&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">, Wiek: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">row&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">, Miasto: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">row&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Sprawdzanie istnienia pliku:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"import os\n\nfilename = &quot;przyklad.txt&quot;\n\n# Sprawdzanie czy plik istnieje\nif os.path.exists(filename):\n    print(f&quot;Plik {filename} istnieje&quot;)\n    \n    # Sprawdzanie rozmiaru pliku\n    size = os.path.getsize(filename)\n    print(f&quot;Rozmiar pliku: {size} bajt\u00f3w&quot;)\nelse:\n    print(f&quot;Plik {filename} nie istnieje&quot;)\n\n# Listowanie plik\u00f3w w katalogu\nfiles = os.listdir(&quot;.&quot;)\nprint(&quot;\\nPliki w katalogu:&quot;)\nfor file in files:\n    if os.path.isfile(file):\n        print(f&quot;- {file}&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> os<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">filename = <\/span><span style=\"color: #CE9178\">&quot;przyklad.txt&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Sprawdzanie czy plik istnieje<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> os.path.exists(filename):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Plik <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">filename<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> istnieje&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\"># Sprawdzanie rozmiaru pliku<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    size = os.path.getsize(filename)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Rozmiar pliku: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">size<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> bajt\u00f3w&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">else<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Plik <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">filename<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> nie istnieje&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Listowanie plik\u00f3w w katalogu<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">files = os.listdir(<\/span><span style=\"color: #CE9178\">&quot;.&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">Pliki w katalogu:&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> file <\/span><span style=\"color: #C586C0\">in<\/span><span style=\"color: #D4D4D4\"> files:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> os.path.isfile(file):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;- <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">file<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Obs\u0142uga b\u0142\u0119d\u00f3w przy pracy z plikami:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"try:\n    with open(&quot;nieistniejacy.txt&quot;, &quot;r&quot;) as file:\n        content = file.read()\nexcept FileNotFoundError:\n    print(&quot;Plik nie istnieje!&quot;)\nexcept PermissionError:\n    print(&quot;Brak uprawnie\u0144 do odczytu pliku!&quot;)\nexcept Exception as e:\n    print(f&quot;Wyst\u0105pi\u0142 b\u0142\u0105d: {e}&quot;)\n\n# Bezpieczne sprawdzanie przed otwarciem\nimport os\n\nfilename = &quot;dane.txt&quot;\nif os.path.exists(filename):\n    with open(filename, &quot;r&quot;) as file:\n        content = file.read()\n        print(content)\nelse:\n    print(f&quot;Plik {filename} nie istnieje&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">try<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;nieistniejacy.txt&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        content = file.read()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">except<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">FileNotFoundError<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Plik nie istnieje!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">except<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">PermissionError<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Brak uprawnie\u0144 do odczytu pliku!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">except<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">Exception<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> e:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Wyst\u0105pi\u0142 b\u0142\u0105d: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">e<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Bezpieczne sprawdzanie przed otwarciem<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> os<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">filename = <\/span><span style=\"color: #CE9178\">&quot;dane.txt&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> os.path.exists(filename):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(filename, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        content = file.read()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(content)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">else<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Plik <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">filename<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> nie istnieje&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Praca z plikami JSON:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"import json\n\n# Dane do zapisania\ndata = {\n    &quot;name&quot;: &quot;Jan Kowalski&quot;,\n    &quot;age&quot;: 30,\n    &quot;city&quot;: &quot;Warszawa&quot;,\n    &quot;hobbies&quot;: &#91;&quot;programowanie&quot;, &quot;czytanie&quot;, &quot;sport&quot;&#93;\n}\n\n# Zapisywanie do pliku JSON\nwith open(&quot;dane.json&quot;, &quot;w&quot;) as file:\n    json.dump(data, file, indent=4)\n\nprint(&quot;Dane zosta\u0142y zapisane do pliku JSON!&quot;)\n\n# Czytanie z pliku JSON\nwith open(&quot;dane.json&quot;, &quot;r&quot;) as file:\n    loaded_data = json.load(file)\n    print(&quot;\\nWczytane dane:&quot;)\n    print(f&quot;Imi\u0119: {loaded_data&#91;'name'&#93;}&quot;)\n    print(f&quot;Wiek: {loaded_data&#91;'age'&#93;}&quot;)\n    print(f&quot;Miasto: {loaded_data&#91;'city'&#93;}&quot;)\n    print(f&quot;Hobby: {', '.join(loaded_data&#91;'hobbies'&#93;)}&quot;)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> json<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Dane do zapisania<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">data = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&quot;name&quot;<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #CE9178\">&quot;Jan Kowalski&quot;<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&quot;age&quot;<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">30<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&quot;city&quot;<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #CE9178\">&quot;Warszawa&quot;<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&quot;hobbies&quot;<\/span><span style=\"color: #D4D4D4\">: &#91;<\/span><span style=\"color: #CE9178\">&quot;programowanie&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;czytanie&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;sport&quot;<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Zapisywanie do pliku JSON<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;dane.json&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;w&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    json.dump(data, file, <\/span><span style=\"color: #9CDCFE\">indent<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Dane zosta\u0142y zapisane do pliku JSON!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Czytanie z pliku JSON<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">open<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;dane.json&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;r&quot;<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> file:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    loaded_data = json.load(file)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">Wczytane dane:&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Imi\u0119: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">loaded_data&#91;<\/span><span style=\"color: #CE9178\">&#39;name&#39;<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Wiek: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">loaded_data&#91;<\/span><span style=\"color: #CE9178\">&#39;age&#39;<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Miasto: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">loaded_data&#91;<\/span><span style=\"color: #CE9178\">&#39;city&#39;<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Hobby: <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #CE9178\">&#39;, &#39;<\/span><span style=\"color: #D4D4D4\">.join(loaded_data&#91;<\/span><span style=\"color: #CE9178\">&#39;hobbies&#39;<\/span><span style=\"color: #D4D4D4\">&#93;)<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Dobre praktyki:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zawsze u\u017cywaj <code>with<\/code> do otwierania plik\u00f3w<\/li>\n\n\n\n<li>Sprawdzaj czy plik istnieje przed pr\u00f3b\u0105 odczytu<\/li>\n\n\n\n<li>Obs\u0142uguj wyj\u0105tki przy pracy z plikami<\/li>\n\n\n\n<li>Zamykaj pliki po u\u017cyciu (automatycznie z <code>with<\/code>)<\/li>\n\n\n\n<li>U\u017cywaj odpowiednich tryb\u00f3w otwierania<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Uwaga:<\/h4>\n\n\n\n<p>Przyk\u0142ady z zewn\u0119trznymi bibliotekami (requests, numpy, pandas) nie dzia\u0142aj\u0105 w edytorze online &#8211; wymagaj\u0105 instalacji w lokalnym \u015brodowisku Python. Niekt\u00f3re wbudowane modu\u0142y (os, datetime) r\u00f3wnie\u017c mog\u0105 nie dzia\u0142a\u0107 w edytorze online.<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Praca z plikami w Pythonie Python oferuje pot\u0119\u017cne narz\u0119dzia do pracy z plikami. Mo\u017cesz czyta\u0107, zapisywa\u0107 i zarz\u0105dza\u0107 r\u00f3\u017cnymi typami plik\u00f3w. Podstawowe operacje na plikach: U\u017cywamy funkcji open() do otwierania plik\u00f3w: Tryby otwierania plik\u00f3w: Zapisywanie do pliku: Dodawanie do pliku: R\u00f3\u017cne sposoby czytania pliku: Praca z plikami CSV: Sprawdzanie istnienia pliku: Obs\u0142uga b\u0142\u0119d\u00f3w przy pracy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,3],"tags":[6,23,5],"class_list":["post-55","post","type-post","status-publish","format-standard","hentry","category-kurs","category-python","tag-kurs","tag-pliki","tag-python"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts\/55","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=55"}],"version-history":[{"count":1,"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts\/55\/revisions"}],"predecessor-version":[{"id":56,"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts\/55\/revisions\/56"}],"wp:attachment":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}