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 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 7
    včera 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    včera 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 4
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 5
    11.6. 03:33 | Nová verze

    Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    10.6. 15:44 | Zajímavý software

    Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.

    Ladislav Hagara | Komentářů: 2
    10.6. 13:22 | Zajímavý článek

    Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1887 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Načtení seznamu ze souboru v Pythonu

    11.5.2015 22:06 Dědek
    Načtení seznamu ze souboru v Pythonu
    Přečteno: 730×
    Ahoj, jak můžu nahradit tento kousek kódu
    #!/usr/bin/python
    def Seznam():
        items = [1, 2, 3, 4, 5, 6, 7, 8]
    za něco, co načte seznam ze souboru ale bude se tvářit ten seznam jako v prvním příkladu. Zkoušel jsem tohle ale je to nesmysl.
    #!/usr/bin/python
    def Seznam():
          file = open("/tmp/seznam", "r")
          list = file.readlines()
    Soubor /tmp/seznam
    #!/usr/bin/python
    items = [1, 2, 3, 4, 5, 6, 7, 8]
    ten obsah souboru /tmp/seznam bych mohl ještě nadefinovat takto, jestli to něčemu popůže (bez nazvu seznamu)
    #!/usr/bin/python
    [1, 2, 3, 4, 5, 6, 7, 8]
    Zkoušel jsem to i importovat ale bez výsledku. Navíc jsem nenašel způsob jak přinutit importovat nazv uložený v proměnné
    var = "nazevsouboru"
    import var
    Poradí někdo?

    Odpovědi

    xxxxxx avatar 11.5.2015 23:20 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    Doporučuji použít JSON:

    Uložení:
    import json
    
    lst = [1, 2, 3, 4, 5]
    
    fw = open('filename.json', 'w')
    
    json.dump(list, fw)
    
    fw.close()
    
    
    Načtení:
    import json
    
    fw = open('filename.json', 'r')
    
    lst = json.load(fw)
    
    fw.close()
    
    
    Výhoda je v tom, že to funguje i na další datové typy, jako třeba dict.
    12.5.2015 06:17 pavel
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    možná pomůže result=eval("[1,2,3,4]")
    Fuky avatar 12.5.2015 09:20 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    Doporučuji používat fci eval() s rozumem, pro tento typ úlohy je naprosto nevhodná. Je třeba rozlišovat mezi datovým souborem a skriptem, který si může dělat co se mu zlíbí.
    rADOn avatar 12.5.2015 14:40 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    Presne tak, eval je koncentrovany zlo a na jeho pouziti by mel byt zbrojni pas. Kdyz uz bych chtel cist pajtni reprezentaci, tak v modulu ast je funkce literal_eval() ktera se da pouzit stejne dobre a neni zdaleka tak brisantni :-)

    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    12.5.2015 09:06 Sodalite
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu

    To čtení z toho souboru je v podstatě dobře, ale formát toho souboru správně není.

    Pokud bych se nechtěl učit ten JSON, tak musím vědět, že funkce readlines() čte jednotlivé řádky souboru a ty pak vrací jako seznam (list).

    Z toho teda vyplývá, že ty položky seznamu musím mít vždy jednu položku na řádek.

    Druhá varianta by byla uložit do souboru hodnoty oddělené čárkou a ty potom oddělit do seznamu pomocí metody split(separator), kde separátor by byla ta čárka.

    Kombinací těchto dvou postupů lze dobře zpracovat tzv. CSV soubor.

    12.5.2015 09:07 pet
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    echo '1, 2, 3, 4, 5, 6, 7, 8' > /tmp/seznam

    python2:

    map( lambda x: x.strip(), open( '/tmp/seznam' ).read().strip().split( ',' )

    python3:

    list( map( lambda x: x.strip(), open( '/tmp/seznam' ).read().strip().split( ',' ) ) )

    Fuky avatar 12.5.2015 10:08 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu

    Neuvedl jsi podrobnosti, takže těžko zvolit optimální řešení. Mimo již uvedených možností lze ještě např. využít:

    Na py.cz najdeš dost zdrojů pro pochopení základů, bylo by dobré, aby jsi dotazy pokládal až si tyto základy sám nastuduješ. Měl jsi problém s importem modulu, tak se podívej jak se s moduly pracuje.

    rADOn avatar 12.5.2015 15:05 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    Navíc jsem nenašel způsob jak přinutit importovat nazv uložený v proměnné
    var = "nazevsouboru"
    import var
    var = __import__("nazevsouboru")
    Ale to uz je vyssi divci a dokud nebudes vedet jak fungujou jmenny prostory tak bys takovy veci nemel delat pacz se s nima da (ne)pekne strelit do nohy. Importuje se kod a tedy bys z principu mel vedet co importujes – na deserializaci dat ze souboru ti kolegove vyse poradili zpusobu vic nez dost.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    12.5.2015 21:36 Dědek
    Rozbalit Rozbalit vše Re: Načtení seznamu ze souboru v Pythonu
    Zajímavé čtení, děkuji všem.

    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.