Igen
kiterjedt és széleskörű standard könyvtára van, amit még kiegészítenek az egyéb
(mások által) megírt publikus modulok. Röviden néhány szót:
A
könyvtár tartalmaz adattípusokat, amelyeket egyébként a nyelv magjának
tekintenek (pl. számok és listák). Tartalmaz még beépített függvényeket és
kivételeket, melyeket használni lehet import nélkül. De a legnagyobb része
természetesen modulokban van. Ezek egy része C-ben van megírva és be van építve
az interpreterbe, másokat Python forráskódban kell importálni.
Ízelítőnek
álljon itt a modulok listája:
__builtin__
__main__
aifc
al
AL
anydbm
array
audioop
base64
BaseHTTPServer
Bastion
binascii
binhex
cd
cgi
CGIHTTPServer
cmath
code
commands
copy
copy_reg
crypt
ctb
dbm
DEVICE
dis
dumbdbm
EasyDialogs
errno
exceptions
fcntl
findertools
fl
FL
flp
fm
fnmatch
formatter
FrameWork
ftplib
gdbm
getopt
gl
GL
glob
gopherlib
grp
gzip
htmllib
httplib
ic
imageop
imgfile
imghdr
imp
jpeg
keyword
locale
mac
macconsole
macdnr
macfs
MacOS
macostools
macpath
macspeech
mactcp
mailbox
mailcap
marshal
math
md5
mimetools
mimify
MiniAEFrame
mpz
ni
nntplib
operator
os
parser
pdb
pickle
posix
posixfile
posixpath
pprint
profile
pstats
pwd
Queue
quopri
rand
random
re
regex
regsub
resource
rexec
rfc822
rgbimg
rotor
select
sgmllib
shelve
signal
SimpleHTTPServer
site
socket
SocketServer
soundex
stat
string
StringIO
struct
sunaudiodev
symbol
sys
syslog
tempfile
TERMIOS
termios
thread
time
token
traceback
types
urllib
urlparse
user
UserDict
UserList
uu
whichdb
whrandom
xdrlib
xmllib
zlib
sys
Változók::
argv -- A parancssorban a Python szkriptnek átadott argumentumok
listája. sys.argv[0] - a szkript neve.
builtin_module_names
-- Minden olyan modulnak a neve - egy string-lista formájában -,
amelyet C nyelven írtak és az aktuális fordítóhoz van szerkesztve.
check_interval -- Ilyen gyakorisággal kell ellenőrizni a szálak, ill. jelek
közötti váltásokat (a virtuális gépi parancsok számával megadva)
exc_type
exc_value
exc_traceback
-- Kivételkezelő programrészben kap értéket. A legutoljára
keletkezett kivétel típusa, értéke és az előző kivétel objektum
van a zsákmemória (stack) legtetején.
exitfunc -- A felhasználó paraméter-nélküli függvény esetében használhatja.
A fordító kilépése előtt történik a meghívása.
last_type
last_value
last_traceback
-- Csak akkor kap értéket, ha a kivétel nem lett lekezelve
és a fordító hibát üzen. A hibakeresők használják.
modules -- A már betöltött modulok listája.
path -- Külső modulok keresésére használt útvonalak. Programból
módosítható érték.
ps1
ps2
-- promptok () interaktív (párbeszédes) üzemmódban.
stdin
stdout
stderr
-- I/O-ra használt fájlobjektumok. A felhasználó át tudja
irányítani, ha új fájl objektumot rendel hozzá (vagy
bármilyen objektum "write()" eljárására, amely string
argumentumot vár).
tracebacklimit -- Kivétel/hiba esetén a megjelenített info legmélyebb szintje.
Függvények::
exit(n) -- Kilépés <n> állapottal. SystemExit kivételhibát generál.
(Persze a program el tudja kapni és ignorálhatja)
settrace(func) -- A nyomkövető eljárást kapcsolja be: minden egyes kódsor
kilépése előtt meghívódik
setprofile(func)
-- Sets a profile function for performance profiling.
os
Az
aktuális környezethez illeszkedő operációs rendszer (OS) specifikus modulok
szinonímája. Ahol lehetséges, ott a Python a "posix"-ot használja.
Változók::
name -- OS-specifikus modul neve (pl. "posix" vagy "mac")
path -- OS-specifikus modul az elérési útvonal kezelésére.
Unix-on pl.: os.path.split() <=> posixpath.split()
curdir -- az aktuális könyvtárat jelentő string ('.')
pardir -- a szülő-könyvtárat jelentő string ('..')
sep -- string a könyvtárnevek szétválasztására ('/')
posix
Változók::
environ -- a környezeti változók kulcs-érték pár formátumú listája,
pl.: posix.environ['HOME']
error -- kivételhiba, amely POSIX-szel kapcsolatos. A hozzá tartozó
érték tuple típus, benne a kivétel kódja (errno code) és a
hozzá tartozó szöveg (perror() string)
Néhány
függvény (a teljes listát lásd a dokumentumban)::
chdir(útvonal) -- Átmegy az <útvonal> könyvtárba.
close(fd) -- Az <fd> fájlleíró lezárása.
_exit(n) -- Azonnali kilépés. Nincs tisztítás, sem SystemExit() stb.
Gyermekfolyamatból való kilépéskor használatos.
execv(p, args) -- Futtatjuk <p>-t <args> argumentumokkal.
fork() -- Mint a C nyelv fork() eljárása. A gyermek-folyamatban visszatérési
értéke 0, a szülő-folyamatban a gyermek-folyamat folyamat-
azonosítója (pid).
kill(pid, signal)
-- Mint a C nyelv kill()-je.
listdir(útvonal)-- Kilistázza a <útvonal> könyvtár tartalmát.
open(fájl, flags, mód)
-- Mint a C nyelv open()-je. Fájlleíró azonosítót (fd) ad vissza.
pipe() -- Cső (pipe) létrehozása. Két fájlleírót ad vissza (r, w).
popen(parancs, mód)
-- Megnyit egy csövet a <parancs> számára. Az eredmény az a fájl
objektum, amiből olvas, ill. amibe ír - a <mód> tartalmától
függően ('r'-olvas, 'w'-ír).
read(fd, n) -- Kiolvas <n> bájtot az <fd>-ből és stringként visszaadja.
stat(path) -- Visszatér st_mode, st_ino, st_dev, st_nlink, st_uid,
st_gid, st_size, st_atime, st_mtime, st_ctime - értékeivel.
system(parancs) -- Alburokban végrehajtja a <parancs>-ot (string típus).
Az alburok kilépési állapotát adja vissza.
unlink(útvonal) -- Az útvonal/fájl törlése a könyvtárból.
wait() -- Vár a gyermek-folyamat befejezésére. Visszaadja a folyamat-
azonosító (pid) és a kilépési állapot (exit_status) értékét
tuple típusban.
waitpid(pid, options)
-- Vár a pid-ben megadott folyamat befejezésére. Visszaadja tuple-
ban a folyamatazonosítót (pid) és a kilépési állapotot (exit_
status).
write(fd, str) -- Kiírja <str>-et az <fd>-re. A kiírt bájtok számát adja vissza.
posixpath
Néhány
függvény (lásd a dokumentumban a teljes listát)::
exists(p) -- Igaz, ha <p> string létező könyvtár, vagy fájl.
expanduser(p) -- Visszaadja <p>-t elétéve "~" feloldását.
isabs(p) -- Igaz, ha <p> string abszolút útvonalat takar.
isfile(p) -- Igaz, ha <p> string szabályos fájlnak a neve.
isdir(p) -- Igaz, ha <p> string létező könyvtárnak a neve.
islink(p) -- Igaz, ha <p> string létező szimbolikus linknek a neve.
isfile(p) -- Igaz, ha <p> string létező szabályos fájlnak a neve.
ismount(p) -- Igaz, ha <p> string rácsatlakoztatási pont.
split(p) -- Felbontja <p>-t (fej,törzs)-re, ahol <törzs> a <p>-ben
megadott útvonal utolsó komponense, <fej> pedig minden,
ami azt megelőzi.
splitext(p) -- Felbontja <p>-t (root, ext)-re, ahol <root> utolsó össze-
tevője nem tartalmaz pontot, és <ext> üres vagy egy ponttal
kezdődik. (Fájlnevek felbontása kiterjesztés szerint)
walk(p, visit, arg)
-- Felhívja a <visit> függvényt (<arg>, <dirname>, <names>)
argumentumokkal a könyvtárfán található minden könyvtárra,
<p>-ből kiindulva. A <dirname> argumentum a meglátogatott
könyvtár nevét adja meg, a <names> tartalmazza a könyvtárban
található fájlok listáját. A <visit> függvény módosítani
tudja a <names> tartalmát, így <dirname> alatti fa bizonyos
tartalmának listázása letiltható.
math
Változók::
pi
e
Függvények
(bővebben lásd a C függvények leírását)::
acos(x)
asin(x)
atan(x)
atan2(x, y)
ceil(x)
cos(x)
cosh(x)
exp(x)
fabs(x)
floor(x)
fmod(x, y)
frexp(x) -- eltér a C-től: (float, int) = frexp(float)
ldexp(x, y)
log(x)
log10(x)
modf(x) -- eltér a C-től: (float, float) = modf(float)
pow(x, y)
sin(x)
sinh(x)
sqrt(x)
tan(x)
tanh(x)
getopt
Leírás:
parancssorból történő híváskor az opciókat megadó kulcsok és azok értékeinek feldolgozását
elősegítő program megírásához használatos függvények/eljárások.
Függvények::
getopt(list,optstr) -- Hasonló a C-hez. <optstr> a használatos opciók betűi.
Egy ':' jel kerül az opciós betű mögé, ha van az
opciónak argumentuma. Pl.:
# parancssorból: "python test.py -c hi -a arg1 arg2"
opts, args = getopt.getopt(sys.argv[1:], 'ab:c:')
# az opciók a következők:
[('-c', 'hi'), ('-a', '')]
# az argumentumok értékei:
['arg1', 'arg2']
string
Néhány
változó::
digits -- String '0123456789' értékkel
uppercase
lowercase
whitespace
-- Stringek, a megfelelő karaktereket tartalmazzák
index_error -- Kivételhiba, az index() generálja, ha a substring
nem található
Néhány
függvény::
index(s, sub, i=0) -- Visszaadja a <s>-ben a legkisebb indexet, amely nem
kisebb <i>-nél és a <sub> alstringet megtalálta
lower(s) -- Visszaadja <s> stringet csupa kisbetűvel
splitfields(s, sep) -- Listát ad vissza, amely az <s> string mezőit
tartalmazza, <sep> értékét használva szeparátorként.
joinfields(words, sep) -- Összeilleszti a listát, ill tuplét, ami szavakból áll
és <sep> (szeparátor) szerint vannak elválasztva
strip(s) -- Visszaadaja <s> stringet levágva elejéről és végéről
a szóközöket, láthatatlan karaktereket
upper(s) -- Visszaadja <s> stringet csupa nagybetűvel
regex
A
mintákat (pattern) stringként definiáljuk. Alaphelyzetben az EMACS stílusát
követjük.
Speciális
karakterek (alapszintaktika szerint)::
. illeszkedés bármilyen karakterre
* 0 vagy több előző reguláris kifejezés
+ 1 vagy több előző reguláris kifejezés
? 0 vagy 1 előző reguláris kifejezés
[ ] karakterkészletet határoz meg: '[a-zA-Z]' illeszkedik minden latin-betűhöz
[^ ] komplementer karakterkészletet határoz meg: illeszkedik, ha a kar. NINCS a készletben
^ illeszkedik a sor eleji üres karakterekre
$ illeszkedik a sor végi üres karakterekre
\ jelentést-megőrző karakter: \[ illeszkedik a '[' karakterre
\\ illeszkedik '\'-re; a Python string szabályok miatt '\\\\' formában kell
használni a minta-stringben (pattern-ben)
\| alternatívát jelöl: 'foo\|bar' illeszkedik, ha 'foo' vagy 'bar'
\( \) csoportképzés (for \|, or complicated expr, or substr for future
reference by \D character or group() method)
\D D - számérték: matches substr matched by D'th \( \) in pattern
\` üres string a fájl elején
\' üres string a fájl végén
\b üres string a szó elején vagy végén: '\bis\b' illeszkedik 'is'-re, de nem 'his'-re
\B üres string NEM a szó elején vagy végén
\< üres string a szó elején
\> üres string a szó végén
\w bármely alfanumerikus /betű, szám, _ / karakterből álló szó
\W bármely NEM alfanumerikus karakterből álló szó
Változók::
error -- Kivétel/hiba, ha a minta regexp()-ként érvénytelen
Függvények::
match(minta, string) -- Visszaadja, hogy a <string> elején hány karakter illeszkedik
a regexp szerinti <minta>-hoz. -1, ha egy sem.
search(minta, string [, pos])
-- Visszaadja az első pozíciót, ahol <string>ben <minta>
szerinti illeszkedést talál. -1, ha nincs illeszkedés.
[kezdődjön <pos>-tól.]
compile(pattern [,translate])
-- Létrehoz egy regexp objektumot, amely rendelkezik
match() és search() eljárásokkal, lásd fenn.
group(i1, [,i2]*) - szintén érvényes. Például:
p = compile('id\([a-z]\)\([a-z]\)')
p.match('idab') ==> 4
p.group(1, 2) ==> ('a', 'b')
set_sytax(flag) -- Megadja a sytaxis flag-jeit a match(), search() és
compile() eljárások további hívásaihoz. Visszaadja
a jelenlegi értéket. A flag-ek lásd a a regex_syntax-ban.
symcomp(pattern [,translate])
-- Ugyanaz mint a compile, de szimbolikus csoportnevekkel.
A nevek kapcsos zárójelben. Hozzáférés group()
eljárásokkal. Például:
p = symcomp('id\(<l1>[a-z]\)\(<l2>[a-z]\)')
p.match('idab') ==> 4
p.group('l1') ==> 'a'
regexsyntax
Flag-ek
a regex.set_syntax()-hoz. Bitszinten VAGY-old a
flag-eket egymáshoz és add át a függvénynek.
Változók::
RE_NO_BK_PARENS -- ha igaz, ( jelentése csoportosítás, \( jelentése "(" karakter
különben fordítottja
RE_NO_BK_VBAR -- ha igaz, | jelentése VAGY, \| jelentése "|" karakter
különben fordítottja
RE_BK_PLUS_QM -- ha igaz, + vagy ? operátorok, \+, \? karakterek
különben fordítottja
RE_TIGHT_VBAR -- ha igaz,, | szorosabban köt, mint ^ vagy $
különben fordítottja
RE_NEWLINE_OR -- ha igaz, \n jelentése: VAGY művelet
különben normál karakter
RE_CONTEXT_INDEP_OPS -- ha nincs megadva, akkor a speciális karakterek minding speciális
jelentéssel bírnak
ha meg van adva, akkor jelentése a környezettől függ:
# ^ - csak az elején speciális, vagy (, vagy | után közvetlenül
# $ - csak a végén speciális, vagy ), vagy | közvetlen előtt
# *, +, ? - csak akkor speciális, ha nem a kezdet, vagy (, vagy | után van
RE_SYNTAX_AWK = (RE_NO_BK_PARENS | RE_NO_BK_VBAR | RE_CONTEXT_INDEP_OPS)
RE_SYNTAX_EGREP = (RE_SYNTAX_AWK | RE_NEWLINE_OR)
RE_SYNTAX_GREP = (RE_BK_PLUS_QM | RE_NEWLINE_OR)
RE_SYNTAX_EMACS = 0
regsub
Függvények::
sub(minta, rep, str) -- Behelyettesíti a <minta> első előfordulását a
<str>-be <rep>-pel és visszaadja az eredményt.
gsub(minta, rep, str) -- Behelyettesíti a <minta> összes előfordulását
<str>-be <rep>-pel és visszaadja az eredményt.
split(str, minta) -- Szétbontja <str>-t mezőkre, az elválasztás ott
történik, ahol a <minta> illeszkedik. Visszaadja
a stringek listáját.
Könyvtárak
Beépített::
sys A fordító állapotváltozói és függvényei
__built-in__ Hozzáférés az összes beépített pythonos változóhoz
__main__ A fordító 'main' programjának látóköre, szkript vagy stdin
array Objektumokat hatékonyan reprezentáló tömb az alapértékekből
math C standard matematikai függvények
time Dátum/idő-kezeléssel kapcsolatos függvények
regex Szabályos kifejezésekhez illeszkedő műveletek
marshal Néhány pythonos értéket binárisan ír, olvas
struct Átalakítás pythonos értékek és C struktúrák között
Szabványos:
getopt Szétbontja és elemzi a parancssort. A la UNIX 'getopt'.
os Egy hordozhatóbb illesztőfelület az op.rendszerfüggő dolgokhoz
rand Pszeudo-véletlenszerű generátor, mint a C rand()
regsub Hasznos eljárások szabályos kifejezések kezelésére
string Hasznos string and character-kezelő eljárások és kivételek
whrandom Wichmann-Hill-féle pszeudo-véletlenszerű szám-generátor
Unix:
dbm Illesztőfelület a Unix ndbm adatbázis-könyvtárhoz
grp Illesztőfelület a Unix group adatbázishoz
posix op.rendszer funkcionalitások,C and POSIX szabványok szerint
posixpath POSIX elérési útvonal-kezelő
pwd Hozzáférés a Unix jelszó adatbázishoz
select Hozzáférés a Unix select multiplex fájl szinkronizálásához
socket Hozzáférés a BSD socket felületéhez
thread Alacsony szintű primitívek a processz-szálak feldolgozásához
Multimédia:
audioop Hasznos műveletek hangfeldolgozáshoz
imageop Hasznos műveletek képfeldolgozáshoz
jpeg Hozzáférés a jpeg képtömörítőhöz
rgbimg Hozzáférés az SGI imglib képfájlokhoz
Kriptográfia:
md5 Illesztőfelület a RSA's MD5 message digest algoritmushoz
mpz Illesztőfelület a GNU többszörös pontosságú könyvtárának int részéhez
rotor Rotor-alapú titkosítóeljárás egy megvalósítása
Stdwin
- Szabványos Ablakkezelő Rendszer:
stdwin Szabványos Window Rendszer illesztőfelület
stdwinevents Stdwin esemény, parancs és kiválasztás konstansai
rect Négyszögmanipulálás eljárásai
A
Lib könyvtár tartalma:
Queue -- Többszolgáltatós és többfelhasználós sor (queue).
UserDict -- Csomagolófelület a beépített szótár (dict) osztály örökléséhez
UserList -- Csomagolófelület a beépített lista (list) osztály örökléséhez
StringIO -- Fájl típusú objektumok, amelyek string puffert írnak/olvasnak
addpack -- Támogatás a csomagokhoz (packages)
aifc -- AIFF-C and AIFF fájlok elemzése
bdb -- Python hibakereső (debugger) általános alaposztálya
bisect -- Bisection algoritmusok
calendar -- Naptár nyomtatási funkciók
cmd -- Általános osztály sororientált parancselemző készítéséhez
cmp -- Fájlok hatékony összehasonlítása, csak logikai kimenettel
cmpcache -- Ugyanaz, de közbensőleg tárolja a 'stat' értékeket a gyorsaság érdekében
codehack -- Kiszed egy függvénynevet egy kód objektumból
compileall -- Egy könyvtárban lévő összes .py fájl kompilálása, tekintet nélkül
colorsys -- Az RGB és más színes rendszerek közötti átalakítások függvényei
commands -- UNIX parancsok végrehajtását végző eszközök
dircache -- Egy könyvtárban lévő fájlok rendezett listája, gyorsítómemóriával
dircmp -- Könyvtárak különbségét elemző eszközhöz osztályt definiál
dis -- Byte-kód disassembler
dospath -- Általános műveletek DOS útvonal/fájlnevekre
dump -- Változók felderítésére kiírja a python kódot
emacs -- Python fordítóból Emacs kódot futtat
fnmatch -- Fájlnév-illeszkedés burok mintához
fpformat -- Lebegőpontos értékeket formázó általános függvények
ftplib -- FTP kliens osztály. RFC 959 alapon.
getopt -- Szabványos parancssor értelmező és feldolgozó
glob -- fájlnév mintaillesztés kiterjesztése
gopherlib -- Gopher protocol kliens interface
grep -- 'grep' hasznosságok
httplib -- HTTP kliens osztály
imghdr -- Képfájl formátumának felismerése az első bájtjai alapján
importall -- Az elérési útvonalon található összes modul importja
linecache -- Cache lines from files.
lockfile -- Fájl zárolásának/elzárásának megvalósítása
maccache -- Mac gyorstár listdir(), isdir(), isfile() vagy exists()-hez
macpath -- Útvonalhoz eljárások Macintosh-hoz
mailbox -- Unix-stílusú vagy mmdf-stílusú mailbox-ok kezeléséhez osztály
mhlib -- MH (mailbox) illesztőfelület
mimetools -- MIME-olvasáshoz és -íráshoz használatos különböző eszközök
multifile -- Osztály a többfájlos üzenetek kezelésének megkönnyítésére
mutex -- Kölcsönös kizárás (mutual exclusion) -- a sched modulhoz
newdir -- Új dir() függvények
nntplib -- Egy NNTP kliens osztály. RFC 977 alapú.
ntpath -- Általános műveletek DOS útvonal/fájlnevekre
os -- Vagy mac, dos vagy posix alapú op.rendszerek
ospath -- ospath.py feleslegessé vált
packmail -- Magát kicsomagoló burok (shell) archívumot hoz létre
pdb -- Python hibakereső (debugger)
persist -- Behatárolt perzisztenciát hoz létre
pipes -- Csővonal (pipeline) sablonok illesztése
poly -- Polinomok
posixfile -- Kibővített (posix) fájl műveletek
posixpath -- Általános műveletek posix útvonal/fájlnevekre
profile -- Python program futásidejű teljesítményének vizsgálatához osztály
pstats -- A futásidejű teljesítmény szempontjából vizsgált program statisztikai adatainak megjelenítése
pty -- Pseudoterminál kiegészítő csomag
py_compile -- Rutin a .py fájlok .pyc fájllá történő "kompilálásá"-hoz
rand -- Csak akkor használd, ha a C's rand()-dal kompatibilis akarsz lenni
random -- Véletlenszám generátor
regex_syntax -- Flegek a regex.set_syntax()-hoz
regexp -- Visszamenőleges kompatibilitás, a "regex"-et használja
regsub -- A szabályos kifejezések (regular expressions) szubrutinjai
repr -- Egy másik repr(), de a erősen behatárolva
rfc822 -- RFC-822 üzeneteket kezelő osztály
sched -- Általánosan használható esemény-kezelő osztály
shutil -- Hasznos eljárások, hasznosak burok-szerű programban
sndhdr -- Pár rutin, amely segít a hangfelismerésben
stat -- Állandók és eljárások a 'stat/lstat struct' értelmezéséhez
statcache -- Fájlállapotokat tartalmazó gyorsmemória karbantartása
string -- Stringen végzett műveletek gyűjteménye
sunau -- Sun és NeXT audio fájlok elemzése
sunaudio -- Sun audio fejrész értelmezése
symbol -- Non-terminal symbols of Python grammar (from "graminit.h")
tb -- A visszaút (traceback) nyomtatása, a helyi változók értékeivel
tempfile -- Ideiglenes fájlok létrehozása
toaiff -- "Tetszőleges" hangfájlt átalakít AIFF fájllá
token -- Tokens (a "token.h"-ból)
tokenize -- Szabályos kifejezést kompilál, amely felismeri a pythonos 'token'-eket
traceback -- Python veremmemória útvonalait formázza és megjeleníti
tty -- Terminálhoz hasznos csomag
types -- A szabványos fordító által használt minden típusú szimbólumhoz nevet ad
tzparse -- Elemzi az időzóna specifikációt
urllib -- Megnyit egy tetszőleges URL-t
util -- (Felesleges) néhány hasznos eljárás, nem fért máshová
uu -- UUkódolás/UUdekódolás
wave -- WAVE fájlok elemzése
whatsound -- Néhány rutin, amely segít a hangfájlok felismerésében
whrandom -- Wichmann-Hill-féle véletlenszám-generátor
zmod -- nehezebben érthető matematikai koncepciókat demonstrál
A
modulok és további modulok tartalmáról a dokumentációban - melyet mindig a
programhoz mellékelnek - találhatunk részletesebb információkat. A dokumentáció
a modulokról és a könyvtárak
tartalmáról a http://www.python.org/ honlapjáról külön is
letölthető.