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í
×

včera 18:55 | Nová verze

Byla vydána nová stabilní verze 1.9 (1.9.818.44) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují podporu nového vyhledávače Ecosia. Ten z příjmů z reklam podporuje výsadbu stromů po celém světě (YouTube). Nově lze přeskupovat ikonky rozšíření nebo řadit poznámky. Nejnovější Vivaldi je postaveno na Chromiu 58.0.3029.82.

Ladislav Hagara | Komentářů: 3
včera 17:00 | Nová verze

Byla vydána verze 3.7.0 svobodného systému pro správu obsahu (CMS) Joomla!. V oznámení o vydání (YouTube) se píše o 700 vylepšeních. Opraveno bylo také 8 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 08:22 | Komunita

Grsecurity (Wikipedie) je sada bezpečnostních patchů pro linuxové jádro (porovnání se SELinuxem, AppArmorem a KSPP). Od září 2015 nejsou stabilní verze těchto patchů volně k dispozici. Dle včerejšího oznámení (FAQ) nejsou s okamžitou platností volně k dispozici už ani jejich testovací verze.

Ladislav Hagara | Komentářů: 33
26.4. 23:33 | Komunita

OpenBSD 6.1 vyšlo již 11. dubna. Po dvou týdnech byla vydána i oficiální píseň. Její název je Winter of 95 a k dispozici je ve formátech MP3 a OGG.

Ladislav Hagara | Komentářů: 0
26.4. 18:55 | Nová verze

Byla vydána verze 2017.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. S vydáním verze 2016.1 se Kali Linux stal průběžně aktualizovanou distribucí. Aktualizovat jej lze pomocí příkazů "apt update; apt dist-upgrade; reboot".

Ladislav Hagara | Komentářů: 0
26.4. 18:22 | Nová verze

Po téměř pěti letech od vydání verze 2.00 byla vydána nová stabilní verze 2.02 systémového zavaděče GNU GRUB (GRand Unified Bootloader). Přehled novinek v souboru NEWS.

Ladislav Hagara | Komentářů: 15
26.4. 17:55 | Komunita

Vývojáři Debianu oznámili, že od 1. listopadu letošního roku nebudou jejich archivy dostupné pomocí protokolu FTP. Již v lednu oznámil ukončení podpory FTP kernel.org (The Linux Kernel Archives).

Ladislav Hagara | Komentářů: 23
26.4. 17:00 | Bezpečnostní upozornění

V oblíbeném webmailu postaveném na PHP SquirrelMail (Wikipedie) byla nalezena bezpečnostní chyba CVE-2017-7692, jež může být útočníkem zneužita ke spuštění libovolných příkazů a kompletnímu ovládnutí dotčeného serveru. Zranitelnost se týká pouze instancí, kde je pro transport používán Sendmail.

Ladislav Hagara | Komentářů: 3
26.4. 13:11 | Zajímavý článek

Soudní dvůr Evropské unie rozhodl (tisková zpráva) ve věci C-527/15: Prodej multimediálního přehrávače, který umožňuje zdarma a jednoduše zhlédnout na televizní obrazovce filmy protiprávně zpřístupněné na internetu, může představovat porušení autorského práva.

Ladislav Hagara | Komentářů: 32
25.4. 13:33 | Pozvánky

Byly stanoveny termíny konferencí LinuxDays 2017 a OpenAlt 2017. Letošní LinuxDays proběhne o víkendu 7. a 8. října v Praze v Dejvicích v prostorách FIT ČVUT. Letošní OpenAlt proběhne o víkendu 4. a 5. listopadu na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (35%)
 (1%)
 (6%)
 (45%)
 (9%)
Celkem 329 hlasů
 Komentářů: 50, poslední včera 04:06
    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: 296×
    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

    mika-talvinen avatar 11.5.2015 23:20 mika-talvinen | skóre: 23 | Plzeň
    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.