Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).
ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.
LF AI & Data Foundation patřící pod Linux Foundation spustila Open Platform for Enterprise AI (OPEA).
Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.
Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.
Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.
#HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.
Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.
Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).
#!/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 varPoradí někdo?
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
.
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í.
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
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.
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( ',' ) ) )
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.
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.
Tiskni Sdílej: