Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).
Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.
Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.
Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.
Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).
Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.
Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného 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 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: