Byla vydána nová verze 9.14 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přidána byla podpora Orange Pi 5 Ultra a Orange Pi 5 Compute Module. V katalogu softwaru přibyl GZDoom.
Byl vydán Mozilla Firefox 140.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Dle plánu byla odstraněna ikona a integrace služby Pocket. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 140 je již k dispozici také na Flathubu a Snapcraftu.
Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.2 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.
Na stránkách konference Den IPv6 2025, jež proběhla 6. června v Praze, byly zveřejněny prezentace (PDF) a videozáznamy přednášek.
Byla vydána verze 2.2.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Ke zhlédnutí jsou videozáznamy přednášek z konference KotlinConf 2025.
V linuxových systémech byly odhaleny dvě závažné zranitelnosti – CVE-2025-6018 v rámci PAM (Pluggable Authentication Modules) a CVE-2025-6019 v knihovně libblockdev, kterou lze zneužít prostřednictvím služby udisks. Ta je součástí většiny běžně používaných distribucí, jako jsou Ubuntu, Debian nebo Fedora. Kombinací obou zranitelností může útočník s minimálním úsilím získat root přístup. Vzhledem k jednoduchosti zneužití
… více »OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.
Něco z IT bulváru: Mark Russinovich pozval Billa Gatese, Linuse Torvaldse a Davida Cutlera na večeři a zveřejnil společné selfie. Linus se s Billem ani s Davidem do té doby nikdy osobně nesetkal. Linus a David měli na sobě červená polotrika. Mark a Bill byli v tmavém [LinkedIn].
Evropská unie nově prověřuje obchod, při němž americký miliardář Elon Musk prodal svou sociální síť X dříve známou jako Twitter vlastnímu start-upu xAI za 33 miliard dolarů (712 miliard Kč). Unijní regulační úřady zvažují, zda firmě X neudělit pokutu podle nařízení Evropské unie o digitálních službách (DSA).
Vývojáři postmarketOS vydali verzi 25.06 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
import cursestak se bude načítat tento soubor
/usr/lib/python3.4/curses/__init__.pyjenže v tomto souboru se načítá
from _curses import *a pak se v jiných funkcích volá (stále v tom stejném souboru)
import _curses, cursesJelikož umím jen PHP tak mi není jasné, proč volá soubor
/usr/lib/python3.4/curses/__init__.pyzase sám sebe a taky nechápu proč se to nezacyklí ? Taky mi není jasné ten import
from _curses import *soubor ani adresář s názvem _curses neexituje, tak odkud se to načítá ? Děkuji za informace
from _curses import *
nejspíš importuje /usr/lib/python3.4/lib-dynload/_curses.cpython-34m.so
, což by měl být python module v C/C++ link
A zacyklení importu nevím, možná to řeší sám python, stejně jako mnohonásobný import?
Každopádně zajímavý dotaz. Ani jednou odpovědí si nejsem na 100% jistý, pokud by to byl někdo schopen potvrdit/vyvrátit, rád bych se dozvěděl víc.
Modul _curses je naprogramován v jazyku C, takže zkompilovanou binárku nalezneš na jiném místě než moduly v čistém Pythonu:
$ ipython
In [1]: import _curses
In [2]: _curses.__file__
Out[2]: '/usr/lib/python2.7/lib-dynload/_curses.so'
K zacyklení není důvod, ty zavoláš "import curses", který načte obsah /usr/lib/python2.7/curses/__init__.py, kde se pouze jednou zavolá "from _curses import *". Teprve když zavoláš fci curses.initscr(), tak se v této fci zavolá "import _curses, curses", je to tam jen kvůli specifikaci jmeného prostotu. Modul _curses totiž také obsahuje fci initscr(), takže když jí chceš zavolat ve fci curses.initscr(), musíš uvést jednoznačnou specifikaci _curses.initscr(). Některé konstanty z C modulu jsou k dispozici až po zavolání fce _curses.initscr(), proto se udělala fce curses.initscr(), která zajistí předání těchto konstant i do modulu curses.
Význam "from _curses import *" je takový, že vše z modulu _curses budeš mít přístupné přes notaci curses.*, pokud nedojde k přetížení fce jako v případě initscr(), pak k této přetížené fci musíš přistupovat výše uvedeným způsobem.
Snad jsem se nikde nesekl, případně mě opravte.
Tiskni
Sdílej: