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 01:44 | Komunita

    Na YouTube byly publikovány videozáznamy přednášek a na Flickru fotografie z konference EuroPython 2026.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Byl vydán Debian 13.7, tj. sedmá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Zajímavý článek

    Jiří Eischmann se v příspěvku Fiasko jménem W Social na svém blogu věnuje evropské sociální síti W: "W Social je příkladem toho, že se problémy sociální sítí nedají řešit od exekutivního stolu. Když na začátku tohoto roku v Davosu oznámili vznik nové sociální sítě W Social, politici se mohli přetrhnout ve chvalozpěvech. Konečně evropská sociální síť a ještě s ověřením identity. … Jak se ukázalo, když v Davosu W Social oznamovali, neměli kromě

    … více »
    Ladislav Hagara | Komentářů: 17
    11.9. 18:00 | Bezpečnostní upozornění

    Výrobce hardwarových kryptoměnových peněženek Trezor upozorňuje na bezpečnostní incident u společnosti Brevo, kterou využívá k odesílání newsletterů. Útočník na e-mailové adresy odeslal phishingový e-mail.

    Ladislav Hagara | Komentářů: 5
    11.9. 14:33 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.

    Ladislav Hagara | Komentářů: 0
    11.9. 11:44 | Nová verze

    Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    11.9. 11:33 | Nová verze

    Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    11.9. 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 9
    11.9. 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

    Ladislav Hagara | Komentářů: 0
    10.9. 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2656 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 965×
    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.