Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.
Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.
Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
./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.