smenu, nástroj pro příkazový řádek pro generování možností a potvrzení výběru, dospěl do verze 1.0.0.
Byla potvrzena zranitelnost CVE-2021-46778 aneb SQUIP (Scheduler Queue Usage via Interference Probing) v procesorech AMD s mikroarchitekturou Zen 1, Zen 2 a Zen 3. Detaily v publikovaném paperu.
Turris OS, operační systém pro síťová zařízení Turris postavený na OpenWrt, byl vydán v nové verzi 5.4. Přehled novinek a diskuse v diskusním fóru.
Byla vydána nová stabilní verze 5.4 (aktuálně 5.4.2753.28) webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 104.0.5112.83. Přehled novinek v příspěvku na blogu. Vivaldi Mail byl povýšen na verzi 1.1.
Intel vydal 27 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20220809 mikrokódů pro své procesory. Ta řeší INTEL-SA-00657. Jedná se o bezpečnostní chybu ÆPIC Leak aneb CVE-2022-21233.
Byla vydána nová verze 2022.3 průběžně aktualizované linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Byla vydána nová major verze 4.0 programovacího jazyka a vývojového prostředí Processing. Ke stažení na GitHubu. Přehled novinek na wiki.
Konference OpenAlt 2022 proběhne o víkendu 17. a 18. září na FIT VUT v Brně. Přednášky lze přihlásit do 15. srpna.
GNOME Web (Epiphany) přichází s podporou rozšíření, která jsou kompatibilní s rozšířeními ve Firefoxu. Více v článku WebExtensions v Epiphany (GNOME Web) na MojeFedora.cz.
Ve Vancouveru probíhá konference a výstava SIGGRAPH 2022 (Special Interest Group on Computer Graphics and Interactive Techniques) věnována počítačové grafice. Řada firem představuje své novinky. Intel například představil profesionální grafické karty Arc Pro A50, A40 a A30M (Mobile).
./soubor.py nemcina-slovicka.ods
#!/usr/bin/env python import string,zipfile,sys def notods(): print 'soubor asi nebude od oo.o' sys.exit(2) if not len(sys.argv)==2: print 'chybne argumenty' sys.exit(2) name=sys.argv[1] if not zipfile.is_zipfile(name): notods() a=zipfile.ZipFile(name,'r') c='content.xml' if not c in a.namelist():notods() data=a.read(c) z='<text:p>' k='</text:p>' ki=0 prevz=1 prevk=1 found=[] while ki!=-1: zi=string.find(data,z,prevz)+len(z) ki=string.find(data,k,prevz) prevz=ki+len(k) if not ki==-1: found.append(data[zi:ki]) dp={} for i in found: if len(i)<3: continue if found.count(i)!=1: if i.isdigit():continue if not dp.has_key(i): dp[i]=found.count(i) for i in dp: print i,str(dp[i])+'x'
if i.isdigit():continue
, resp. if len(i)<3:
continue
Tiskni
Sdílej:
while ki!=-1: zi=string.find(data,z,prevz)+len(z) ki=string.find(data,k,prevz) prevz=ki+len(k) if not ki==-1: found.append(data[zi:ki])řešit reg. výrazy, ale nepodařilo se mi najít ten správný
<text:p>(cokoliv)</text:p>
. Za nakopnutí bych byl vděčen re.findall("<text:p>(.+)</text:p>", a)
... jestli plácám blbosti tak si toho nevšímejte re.findall("<text:p>(.+)</text:p>", data)
import re rp = re.compile("<text:p>([^<>]*)</text:p>") rp.findall(data)
rp = re.compile("<text:p>([^<>]*)</text:p>") rp.findall(data)je ekvivalentné
re.findall("<text:p>([^<>]*)</text:p>", data),ale ak potrebujete s tým regexom ešte pracovať, tak je výhodnejšie ho skompilovať len raz. K tým > a <: každý program, ktorý exportuje do XML ich samozrejme musí nahradzovať, ak má vytvoriť platný XML súbor. A ešte som predpokladal, že ten váš element text:p neobsahuje ďalšie elementy (ale nemusí to tak byť, netuším, aký formát má OO). Takže, aby som to zhrnul, neviem, prečo vám práve toto funguje a nie to predtým (re.findall…), lebo pre OO by mali byť tie programy ekvivaltné. Snáď len že máte nejakú staršiu verziu pythonu, ale to by musela byť veľmi stará, lebo AFAIK regexy sa naposledy poriadne menili niekedy v 1.5.2 a potom v 2.0 pridaním Unicode :-/
lebo AFAIK regexy sa naposledy poriadne menili niekedy v 1.5.2 a potom v 2.0 pridaním Unicode :-/Do 2.4 byly přidány nějaké konstrukce, ale ty je zde stejně nepoužíváš
buňeksi dokážu vysvětlit jen pokročilou hodinou
(defun save-db (filename) (with-open-file (out filename :direction :output :if-exists :supersede) ; sprav nieco so suborom out))Alebo inak povedané, poriadny jazyk, kde nič ako zatváranie súborov nemusíte robiť. Rovnaká vec má pribudúť aj v pythone 2.5. To, čo vy nazývate dobrým štýlom, sú idiómy nižších jazykov, ako je python a rozhodne ich netreba dogmaticky pchať všade.
Rovnaká vec má pribudúť aj v pythone 2.5.Huráá, Python bude mít makra!
with
, využívajúca nové vlastnosti generátorov a bude sa dať ľubovoľnému objektu povedať, že čo s ním má with
spraviť. Teda napríklad súbor bude vedieť, že po skončení bloku sa má zavrieť, thread bude vedieť, že na with
bloku je lock, apod. Pekné ale je, že kým v lispe napísanie vlastného with trvá 5 minút a dá sa to už 4O rokov, tak v pythone treba navrhnúť PEP, teba diskutovať, schváliť a po pár mesiacoch(až rokoch) je nová konštrukcia with
), takže sa ich oplatí pridať. A PEPy komentujú skúsení hackeri, takže nemám o budúcnosť pythonu obavy.