<div dir="ltr">V Pythonu je několik způsobů, jak číst soubor (nebo zapsat, to je podobné) - asi nejjednodušší je:<div><br></div><div><font face="monospace, monospace">from pathlib import Path</font></div><div><font face="monospace, monospace">obsah_souboru = Path(r'cesta\soubor.txt').read_text()</font></div><div><br></div><div>Lze si soubor otevřít a pracovat s ním nějak složitěji - kombinovat read, write, flush, seek, zamykat...:</div><div><br></div><div><font face="monospace, monospace">f = open(r'cesta\soubor.txt')</font></div><div><font face="monospace, monospace">try:</font></div><div><font face="monospace, monospace">    obsah_souboru = f.read()</font></div><div><font face="monospace, monospace">finally:</font></div><div><font face="monospace, monospace">    f.close()</font></div><div><br></div><div>Je výhodnější použít with konstrukci, která za tebe zavolá to <font face="monospace, monospace">close</font>:</div><div><br></div><div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><font face="monospace, monospace">with open(r'cesta\soubor.txt') as f:</font></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><font face="monospace, monospace">    obsah_souboru = f.read()</font><br></div><br class="gmail-Apple-interchange-newline">To <font face="monospace, monospace">Path.read_text</font> ve skutečnosti dělá přesně tohle - viz zdroják: <a href="https://github.com/python/cpython/blob/147d95511f59cfdd2d522f9d736f2335457bae20/Lib/pathlib.py#L1174">https://github.com/python/cpython/blob/147d95511f59cfdd2d522f9d736f2335457bae20/Lib/pathlib.py#L1174</a></div><div><br></div><div>A nebo můžeš jít low-level a přímo volat syscally operačního systému - ale pak si musíš hlídat chybové stavy, řešit si sám bufferování a tak, asi je vidět, proč se to takhle obvykle nedělá:</div><div><br></div><div><font face="monospace, monospace">import os</font></div><div><div><font face="monospace, monospace">fd = os.open(r'cesta\soubor.txt', os. O_RDONLY)<br></font></div><div><font face="monospace, monospace">try:</font></div><div><font face="monospace, monospace">    obsah_souboru = []</font></div><div><font face="monospace, monospace">    while True:</font></div><div><font face="monospace, monospace">        data = os.read(fd, 65536)</font></div><div><font face="monospace, monospace">        if data == b'':</font></div><div><font face="monospace, monospace">            break</font></div><div><font face="monospace, monospace">        obsah_souboru.append(data)</font></div><div><font face="monospace, monospace">    obsah_souboru = b''.join(obsah_souboru).decode()</font></div><div><font face="monospace, monospace">finally:</font></div><div><font face="monospace, monospace">    os.close(fd)</font><br></div><div><br></div><div>Raději spíš napiš, čeho chceš dosáhnout a kam už ses dostal.</div></div><div><br></div><div>Zkus si o tom něco přečíst:</div><div><br></div><div>- <a href="https://naucse.python.cz/course/pyladies/beginners/files/">https://naucse.python.cz/course/pyladies/beginners/files/</a><br></div><div>- <a href="https://docs.python.org/3/library/pathlib.html">https://docs.python.org/3/library/pathlib.html</a></div><div>- <a href="https://python101.pythonlibrary.org/chapter8_file_io.html">https://python101.pythonlibrary.org/chapter8_file_io.html</a></div><div>- <a href="https://knihy.nic.cz/files/edice/python_3.pdf">https://knihy.nic.cz/files/edice/python_3.pdf</a></div><div><br></div><div>Petr Messner</div><br><div class="gmail_quote"><div dir="ltr">po 23. 7. 2018 v 16:55 odesílatel <<a href="mailto:radekmesner@gmail.com">radekmesner@gmail.com</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dává to smysl.<br>
<br>
Jen nechápu poslední odstavec. Nevím, kam napsat open('C:/data/soubor.txt').<br>
Nemělo by tam být spíš něco jako write('a cesta kam se uloží, aby to nebylo system32')?<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:python@py.cz" target="_blank">python@py.cz</a><br>
<a href="http://www.py.cz/mailman/listinfo/python" rel="noreferrer" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br>
<br>
Visit: <a href="http://www.py.cz" rel="noreferrer" target="_blank">http://www.py.cz</a><br>
</blockquote></div></div>