abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    dnes 13:55 | IT novinky

    Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.

    Ladislav Hagara | Komentářů: 2
    dnes 13:33 | IT novinky

    Na Humble Bundle běží akce Humble Tech Book Bundle: All Things Raspberry Pi by Raspberry Pi Press. Se slevou lze koupit elektronické knihy od nakladatelství Raspberry Pi Press a podpořit Raspberry Pi Press, Raspberry Pi Foundation North America nebo Humble.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Humor

    Přidaný režim autonomního řízení vozidel Tesla Mad Max je dostupný pro vybrané zákazníky v programu EAP (Early Access Program). Nový režim je na silnici agresivnější, častěji mění pruhy a ne vždy dodržuje rychlostní limity. Agentura JPP spekuluje, že v Česku by se mohl nový režim namísto Mad Max jmenovat Mad Turek...

    karkar | Komentářů: 16
    dnes 04:00 | Nová verze

    Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Nová verze

    bat, tj. vylepšený cat se zvýrazňováním syntaxe a integrací s gitem, byl vydán ve verzi 0.26.0.

    Ladislav Hagara | Komentářů: 1
    včera 19:33 | Nová verze

    Byla vydána první verze 0.0.1 [Mastodon] multipatformního renderovacího jádra webového prohlížeče Servo (Wikipedie). Vývoj Serva započal v roce 2012 v Mozilla Corporation. V roce 2020 bylo Servo předáno nadaci Linux Foundation. Servo je napsané v programovacím jazyce Rust.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | IT novinky

    Cloudovou službu Amazon Web Services (AWS) americké firmy Amazon dnes postihl globální výpadek. Omezil dostupnost řady aplikací a webů, například populární platformu Snapchat nebo aplikaci s prvky umělé inteligence (AI) Perplexity. Podle webu Downdetector hlásily problémy také uživatelé obchodu Amazon, streamovací platformy PrimeVideo nebo platební služby PayPal.

    Ladislav Hagara | Komentářů: 7
    včera 13:33 | Zajímavý software Ladislav Hagara | Komentářů: 0
    včera 12:44 | Pozvánky

    Od 3. do 16. listopadu proběhnou Dny AI 2025. V úterý 11. listopadu proběhne Open source AI day v Red Hatu v Brně.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (37%)
     (47%)
     (20%)
     (20%)
     (23%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 250 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Bufferovai vystupu python skriptu

    12.6.2009 00:06 Karel Ovesny
    Bufferovai vystupu python skriptu
    Přečteno: 193×

    Dobry den, mam skript v pythonu, ktery vypisuje v pravidelnych intervalech urcite informace. Vystup skriptu presmeruji do souboru:

    ./script > output.txt

    Soubor se vsak neaktualizuje hned, ale postupne se bufferuje po 4096 bajtech. Ja potrebuji tuto vlastnost vypnout. Vygooglil jsem si parametr -u. Kdyz spustim skript takto:

     python -u script > output.txt

    Tak pak vse funguje jak ma. Jenze takto ten skript nechci spoustet, proto jsem zkusil neco takoveho pridat na zacatek skriptu:

    #!/usr/bin/env python -u

    Jenze to pri spusteni rika:

    /usr/bin/env: python -u: No such file or directory
    

    Jeste jsem zkousel nastavit promennou PYTHONUNBUFFERED, ale take bezuspesne. Vim, ze mohu po kazde stdout operaci volat flush, ale to se mi nezda jako ciste reseni. Muzete mi prosim poradit?

    Odpovědi

    Fuky avatar 12.6.2009 09:45 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu
    #!/usr/bin/python -u
    
    12.6.2009 11:11 Karel Ovesny
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu

    Dekuji, toto funguje, jenze ruzne distribuce mohou mit interpret umisteny jinde a pak nastane problem s prenositelnosti skriptu.

    Fuky avatar 12.6.2009 13:04 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu

    Tuším, že v Linuxových distribucích by to neměl být problém, pokud Ti to vadí, tak použij wrapper. Každopádně /usr/bin/env je sice z balíčku coreutils, ale mimo Linuxový svět Ti zase nic nezaručí, že env opravdu bude na uvedené cestě. Potom se navíc musí ošetřit spouštění správné verze Pythonu a dostupnost modulů, které skript využívá. Takže /usr/bin/env oproti /usr/bin/python si mohou směle podat ruce, protože existují zásadnější problémy.

    BTW: Možná Tě bude zajímat diskuze: #!/usr/bin/env python vs. #!/usr/bin/python.

    Fuky avatar 12.6.2009 10:24 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu
    12.6.2009 11:12 Karel Ovesny
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu

    Vycetl jsem z toho dobre, ze na Linuxu to pres env nepujde? Nebo je tam i reseni, ktere jsem prehlidnul?

    Fuky avatar 12.6.2009 11:49 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu
    Ano, také si myslím, že to na Linuxu pomocí env nepůjde.
    Fuky avatar 12.6.2009 11:56 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Bufferovai vystupu python skriptu

    Případně existují ještě jiná řešení než je argument -u: Python output buffering:

    # reopen stdout file descriptor with write mode
    # and 0 as the buffer size (unbuffered)
    sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.