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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 5
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

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

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

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

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 775 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 273×
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.