← Cloudflare Workers / workers / languages / python
Standardní knihovna
Workers napsané v Pythonu spouští Pyodide ↗.
Pyodide is a port of CPython to WebAssembly, for the most part it behaves identically to CPython ↗ (referenční implementace jazyka Python, běžně označovaná jednoduše jako „Python“). Většina testovací sady CPythonu projde i při spuštění proti Pyodide. Ve většině případů se rozdíly v chování řešit nemusíte.
Kompletní Standardní knihovna Pythonu ↗ je dostupná v Python Workers, s následujícími výjimkami:
Vyloučené moduly
V Python Workers nejsou k dispozici následující moduly:
- curses
- dbm
- ensurepip
- fcntl
- grp
- idlelib
- lib2to3
- msvcrt
- pwd
- prostředek
- syslog
- termios
- tkinter
- turtle.py
- turtledemo
- venv
- winreg
- winsound
Následující moduly lze importovat, ale kvůli omezením WebAssembly VM nejsou funkční.
- multiprocessing
- threading
Následující jsou přítomny, ale nelze je importovat kvůli závislosti na balíčku termios, který byl odebrán:
- pty
- tty
Moduly s omezenou funkcionalitou
decimal: Modul decimal má implementace v C (_decimal) a Pythonu (_pydecimal) se stejnou funkčností. K dispozici je pouze implementace v C (zkompilovaná do WebAssembly)pydoc: Nápověda pro vestavěné funkce Pythonu (builtins) není k dispoziciwebbrowser: Původní modul webbrowser není k dispozici.
Souborový systém v paměti
Python Workers mají přístup k dočasnému souborovému systému v paměti. Soubory lze číst a zapisovat pomocí standardního Python file I/O (například open(), pathlib.Path), ale všechna data jsou se ztratí při zničení izolátu Workeru. Souborový systém není mezi jednotlivými instancemi isolate sdílený.
To může být užitečné pro dočasné operace se soubory, ale nemělo by se na to spoléhat jako na trvalé úložiště. Použijte KV, R2, nebo Durable Objects pro trvalé úložiště.