PYTHON(1) General Commands Manual PYTHON(1) NUME python - un limbaj de programare interpretat, interactiv, orientat pe obiecte SINOPSIS python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ] [ -m nume-modul ] [ -q ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ] [ -v ] [ -V ] [ -W argument ] [ -x ] [ -X opiune ] [ -? ] [ --check-hash-based-pycs default (implicit) | always (intotdeauna) | never (niciodata) ] [ --help ] [ --help-env ] [ --help-xoptions ] [ --help-all ] [ -c comanda | script | - ] [ argumente ] DESCRIERE Python este un limbaj de programare interpretat, interactiv i orientat pe obiecte, care combina o putere remarcabila cu o sintaxa foarte clara. Pentru o introducere in programarea in Python, consultai Tutorialul Python. Referina bibliotecii Python documenteaza tipurile incorporate i standard, constantele, funciile i modulele. In cele din urma, Manualul de referina Python descrie sintaxa i semantica limbajului de baza in (poate prea) multe detalii; (aceste documente pot fi localizate prin intermediul seciunii RESURSE IN INTERNET de mai jos; ele pot fi, de asemenea, instalate pe sistemul dumneavoastra). Capacitatea de baza a Python poate fi extinsa cu propriile module scrise in C sau C++. Pe majoritatea sistemelor, astfel de module pot fi incarcate dinamic. Python este, de asemenea, adaptabil ca un limbaj de extensie pentru aplicaiile existente. Consultai documentaia interna pentru indicaii. Documentaia pentru modulele i pachetele Python instalate poate fi vizualizata prin rularea programului pydoc. OPIUNI DE LINIE DE COMANDA -B Nu scrie fiierele .pyc la importare. A se vedea, de asemenea, PYTHONDONTWRITEBYTECODE. -b Emite avertismente cu privire la str(bytes_instance), str(bytearray_instance) i compararea bytes/bytearray cu str. (-bb: emite erori) -c comanda Specifica comanda de executat (a se vedea seciunea urmatoare). Aceasta incheie lista de opiuni (urmatoarele opiuni sunt transmise ca argumente la comanda). --check-hash-based-pycs mod Configureaza modul in care Python evalueaza actualizarea fiierelor .pyc bazate pe suma de control (hash). -d Activeaza ieirea de depanare a analizatorului (numai pentru experi, in funcie de opiunile de compilare). -E Ignora variabilele de mediu, cum ar fi PYTHONPATH i PYTHONHOME, care modifica comportamentul interpretului. -h , -? , --help Afieaza modul de utilizare al executabilului interpretului i iese. --help-env Afieaza ajutorul privind variabilele de mediu specifice Python i iese. --help-xoptions Afieaza ajutorul privind opiunile specifice implementarii -X i iese. --help-all Afieaza informaiile complete de utilizare i iese. -i Atunci cand un script este trecut ca prim argument sau cand se utilizeaza opiunea -c, intrai in modul interactiv dupa executarea scriptului sau a comenzii. Nu se citete fiierul $PYTHONSTARTUP. Acest lucru poate fi util pentru a inspecta variabilele globale sau un traseu de stiva atunci cand un script genereaza o excepie. -I Ruleaza Python in modul izolat. Acest lucru implica, de asemenea, -E, -P i -s. In modul izolat, sys.path nu conine nici directorul scriptului, nici directorul site-packages al utilizatorului. Toate variabilele de mediu PYTHON* sunt, de asemenea, ignorate. Pot fi impuse restricii suplimentare pentru a impiedica utilizatorul sa injecteze cod maliios. -m nume-modul Cauta in sys.path modulul numit i executa fiierul .py corespunzator ca script. Aceasta incheie lista de opiuni (urmatoarele opiuni sunt transmise ca argumente catre modul). -O Elimina declaraiile assert i orice cod condiionat de valoarea __debug__; marete numele de fiier pentru fiierele compilate (bytecode) adaugand .opt-1 inaintea extensiei .pyc. -OO Efectueaza -O i, de asemenea, inlatura ,,docstrings"; modifica numele de fiier pentru fiierele compilate (bytecode) adaugand .opt-2 inaintea extensiei .pyc. -P Nu adauga automat o ruta potenial nesigura la sys.path, cum ar fi directorul curent, directorul scriptului sau un ir gol. A se vedea, de asemenea, variabila de mediu PYTHONSAFEPATH. -q Nu imprima mesajele privind versiunea i drepturile de autor. Aceste mesaje sunt, de asemenea, suprimate in modul non-interactiv. -s Nu adauga directorul sitului utilizatorului la sys.path. -S Dezactiveaza importul modulului site i manipularile dependente de ,,site" ale sys.path pe care le implica. De asemenea, dezactiveaza aceste manipulari in cazul in care site este importat explicit ulterior. -u Foreaza fluxurile de la ieirea standard i de la ieirea de eroare standard sa fie fara memorie tampon. Aceasta opiune nu are niciun efect asupra fluxului de la intrarea standard. -v Afieaza un mesaj de fiecare data cand un modul este iniializat, indicand locul (nume de fiier sau modul incorporat) din care este incarcat. Daca este data de doua ori, afieaza un mesaj pentru fiecare fiier care este verificat la cautarea unui modul. De asemenea, ofera informaii despre curaarea modulului la ieire. -V , --version Afieaza numarul versiunii Python a executabilului i iese. Daca este data de doua ori, afieaza mai multe informaii despre compilare. -W argument Controleaza avertizarea. Mecanismul de avertizare Python imprima in mod implicit mesaje de avertisment in sys.stderr. Cele mai simple configurari aplica o anumita aciune necondiionat tuturor avertismentelor emise de un proces (chiar i celor care sunt ignorate in mod implicit): -Wdefault # Avertizeaza o data pentru fiecare locaie de apel -Werror # Convertete in excepii -Walways # Avertizeaza de fiecare data -Wall # La fel ca ,,-Walways" -Wmodule # Avertizeaza o data pentru fiecare modul de apelare -Wonce # Avertizeaza o data pentru fiecare proces Python -Wignore # Nu avertizeaza niciodata Numele aciunilor pot fi prescurtate dupa cum se dorete, iar interpretul le va rezolva cu numele aciunii corespunzatoare. De exemplu, -Wi este acelai lucru cu -Wignore. Forma completa a argumentului este: aciune:mesaj:categorie:modul:numarlinie. Campurile goale se potrivesc cu toate valorile; campurile goale din urma pot fi omise. De exemplu, -W ignore::DeprecationWarning ignora toate avertismentele DeprecationWarning. Campul aciune este la fel ca cel explicat mai sus, dar se aplica numai avertismentelor care corespund celorlalte campuri. Campul mesaj trebuie sa se potriveasca cu intregul mesaj de avertisment afiat; aceasta potrivire nu ine cont de majuscule i minuscule. Campul categoria corespunde categoriei de avertisment (de exemplu: "DeprecationWarning"). Acesta trebuie sa fie un nume de clasa; testul de potrivire verifica daca categoria reala de avertizare a mesajului este o subclasa a categoriei de avertisment specificate. Campul modul se potrivete cu numele (complet calificat) al modulului; aceasta potrivire este sensibila la majuscule i minuscule. Campul numarlinie se potrivete cu numarul de linie, unde zero se potrivete cu toate numerele de linie i este astfel echivalent cu un numar de linie omis. Se pot da mai multe opiuni -W; atunci cand un avertisment corespunde mai multor opiuni, se executa aciunea pentru ultima opiune corespunzatoare. Opiunile -W nevalabile sunt ignorate (cu toate acestea, se afieaza un mesaj de avertizare cu privire la opiunile nevalabile atunci cand este emis primul avertisment). Avertismentele pot fi, de asemenea, controlate folosind variabila de mediu PYTHONWARNINGS i din interiorul unui program Python folosind modulul de avertismente. De exemplu, funcia warnings.filterwarnings() poate fi utilizata pentru a folosi o expresie regulata pentru mesajul de avertizare. -X opiune Stabilete opiunea specifica implementarii. Sunt disponibile urmatoarele opiuni: -X faulthandler: activeaza faulthandler -X showrefcount: afieaza numarul total de referine i numarul de blocuri de memorie utilizate la terminarea programului sau dupa fiecare instruciune in interpretul interactiv. Acest lucru funcioneaza numai in cazul construciilor de depanare. -X tracemalloc: incepe sa urmareasca alocarile de memorie Python folosind modulul ,,tracemalloc". In mod implicit, doar cel mai recent cadru este stocat in urmarirea unui traseu. Utilizai ,,-X tracemalloc=NCADRE" pentru a incepe urmarirea cu o limita de urmarire a cadrelor NCADRE. -X importtime: arata cat dureaza fiecare import. Se afieaza numele modulului, timpul cumulat (inclusiv importurile imbricate) i timpul propriu (excluzand importurile imbricate). Reinei ca rezultatul poate fi intrerupt in cazul unei aplicaii cu mai multe fire. Utilizarea tipica este <>. -X dev: activeaza ,,modul de dezvoltare" al CPython, introducand verificari de timp de execuie suplimentare care sunt prea costisitoare pentru a fi activate in mod implicit. Acesta nu va fi mai descriptiv decat modul implicit daca codul este corect: noile avertismente sunt emise doar atunci cand este detectata o problema. Efectul modului de dezvoltare: * Adauga un filtru de avertizare implicit, ca -W implicit. * Instaleaza carlige de depanare pe alocatorii de memorie: a se vedea PyMem_SetupDebugHooks() funcia C * Activeaza modulul ,,faulthandler" pentru a descarca traseul de urmarire a execuiei Python in cazul unui accident * Activeaza modul de depanare ,,asyncio" * Stabilete atributul dev_mode din sys.flags la ,,True" * destructorul io.IOBase inregistreaza excepiile close() -X utf8: activeaza modul UTF-8 pentru interfeele sistemului de operare, inlocuind modul implicit care ine cont de specificul local. ,,-X utf8=0" dezactiveaza in mod explicit modul UTF-8 (chiar i in cazul in care, in caz contrar, acesta s-ar activa automat). Consultai PYTHONUTF8 pentru mai multe detalii. -X pycache_prefix=RUTA: permite scrierea fiierelor .pyc intr-un arbore paralel cu radacina in directorul dat, in loc sa fie scrise in arborele de cod. -X warn_default_encoding: activeaza opiunea EncodingWarning pentru 'encoding=None' -X no_debug_ranges: dezactiveaza includerea tabelelor de cartografiere a informaiilor suplimentare de localizare (linia de sfarit, poziia coloanei de inceput i poziia coloanei de sfarit) pentru fiecare instruciune din obiectele de cod. Acest lucru este util atunci cand se doresc obiecte de cod i fiiere pyc mai mici, precum i pentru a suprima indicatorii vizuali suplimentari de localizare atunci cand interpretul afieaza trasee de urmarire a execuiei. -X frozen_modules=[on|off]: daca trebuie sau nu utilizate modulele ingheate. Valoarea implicita este ,,on" (sau ,,off" daca executai o construcie locala). -X int_max_max_str_digits=numar: limiteaza dimensiunea conversiilor int<->str. Acest lucru ajuta la evitarea atacurilor de negare a serviciului atunci cand se analizeaza date nesigure. Valoarea implicita este sys.int_info.default_max_str_digits. 0 dezactiveaza. -x Omite prima linie a sursei. Acest lucru este destinat doar pentru un ,,hack" (accesare) specific DOS. Atenie: numerele de linie din mesajele de eroare vor fi decalate cu unu! INTERFAA INTERPRETULUI Interfaa interpretului seamana cu cea a shell-ului UNIX: atunci cand este apelat cu intrarea standard conectata la un dispozitiv tty, solicita comenzi i le executa pana la citirea unui EOF; atunci cand este apelat cu un argument de nume de fiier sau cu un fiier ca intrarea standard, citete i executa un script din acel fiier; atunci cand este apelat cu -c comanda, executa instruciunea (instruciunile) Python data(e) ca comanda. Aici comanda poate conine mai multe instruciuni separate prin linii noi. Spaiul de inceput este semnificativ in instruciunile Python! In modul non-interactiv, intreaga intrare este analizata inainte de a fi executata. Daca este disponibil, numele scriptului i argumentele suplimentare ulterioare sunt transmise scriptului in variabila Python sys.argv, care este o lista de iruri de caractere (trebuie mai intai s-o importai: import sys pentru a o putea accesa). Daca nu se da niciun nume de script, sys.argv[0] este un ir de caractere gol; daca se utilizeaza -c, sys.argv[0] conine irul de caractere '-c'. Reinei ca opiunile interpretate de interpretul Python insui nu sunt plasate in sys.argv. In modul interactiv, promptul principal este ,,>>>>"; al doilea prompt (care apare atunci cand o comanda nu este completa) este ,,...". Solicitarile pot fi modificate prin atribuirea la sys.ps1 sau sys.ps2. Interpretul se oprete atunci cand citete un sfarit de fiier (EOF) la un prompt. Atunci cand apare o excepie netransmisa, se imprima o urmarire a stivei i controlul revine la promptul principal; in modul non-interactiv, interpretul iese dupa imprimarea urmaririi stivei. Semnalul de intrerupere genereaza excepia KeyboardInterrupt; alte semnale UNIX nu sunt detectate (cu excepia faptului ca SIGPIPE este uneori ignorat, in favoarea excepiei IOError). Mesajele de eroare sunt scrise la ieirea de eroare standard (stderr). FIIERE I DIRECTORE Acestea pot fi diferite in funcie de conveniile locale de instalare; ${prefix} i ${exec_prefix} depind de instalare i trebuie interpretate ca fiind pentru software-ul GNU; ele pot fi identice. Valoarea implicita pentru ambele este /usr/local. ${exec_prefix}/bin/python Locaia recomandata a interpretului. ${prefix}/lib/python ${exec_prefix}/lib/python Locaiile recomandate ale directoarelor care conin modulele standard. ${prefix}/include/python ${exec_prefix}/include/python Locaiile recomandate ale directoarelor care conin fiierele include necesare pentru dezvoltarea extensiilor Python i incorporarea interpretului. VARIABILE DE MEDIU PYTHONSAFEPATH Daca este definita la un ir de caractere care nu este gol, nu se adauga automat o ruta potenial nesigura la sys.path, cum ar fi directorul curent, directorul scriptului sau un ir de caractere gol. A se vedea, de asemenea, opiunea -P. PYTHONHOME Modifica locaia bibliotecilor Python standard. In mod implicit, bibliotecile sunt cautate in ${prefix}/lib/python i ${exec_prefix}/lib/python, unde ${prefix} i ${exec_prefix} sunt directoare dependente de instalare, ambele fiind in mod implicit /usr/local. Atunci cand $PYTHONHOME este definita pentru un singur director, valoarea sa inlocuiete atat ${prefix}, cat i ${exec_prefix}. Pentru a specifica valori diferite pentru acestea, definii $PYTHONHOME la ${prefix}:${exec_prefix}. PYTHONPATH Marete ruta de cautare implicita pentru fiierele de module. Formatul este acelai cu $PATH din shell: unul sau mai multe nume de rute de directoare separate prin doua puncte (,,:"). Directoarele inexistente sunt ignorate in mod silenios. Ruta de cautare implicita depinde de instalare, dar in general incepe cu ${prefix}/lib/python (a se vedea PYTHONHOME de mai sus). Ruta de cautare implicita este intotdeauna adaugata la $PYTHONPATH. Daca se da un argument script, directorul care conine scriptul este inserat in ruta din faa lui $PYTHONPATH. Ruta de cautare poate fi manipulata din cadrul unui program Python ca variabila sys.path. PYTHONPLATLIBDIR Suprascrie sys.platlibdir. PYTHONSTARTUP Daca acesta este numele unui fiier care poate fi citit, comenzile Python din acel fiier sunt executate inainte de a fi afiat primul prompt in modul interactiv. Fiierul este executat in acelai spaiu de nume in care sunt executate comenzile interactive, astfel incat obiectele definite sau importate in el pot fi utilizate fara calificare in sesiunea interactiva. De asemenea, putei modifica prompturile sys.ps1 i sys.ps2 din acest fiier. PYTHONOPTIMIZE Daca aceasta este definita ca un ir de caractere nevid, este echivalenta cu specificarea opiunii -O. Daca este definita ca un numar intreg, aceasta este echivalenta cu specificarea de mai multe ori a opiunii -O. PYTHONDEBUG Daca aceasta este definita ca un ir de caractere nevid, este echivalenta cu specificarea opiunii -d. Daca este definita ca un numar intreg, aceasta este echivalenta cu specificarea de mai multe ori a opiunii -d. PYTHONDONTWRITEBYTECODE Daca aceasta este definita ca un ir de caractere nevid, este echivalenta cu specificarea opiunii -B (nu incearca sa scrie fiiere .pyc). PYTHONINSPECT Daca aceasta este definita ca un ir de caractere nevid, este echivalenta cu specificarea opiunii -i. PYTHONIOENCODING Daca aceasta este definita inainte de a rula interpretul, inlocuiete codificarea utilizata pentru stdin/stdout/stderr, in sintaxa encodingname:errorhandler Partea errorhandler este opionala i are aceeai semnificaie ca in ,,str.encode". Pentru stderr, partea errorhandler este ignorata; gestionarul va fi intotdeauna ,,backslashreplace". PYTHONNOUSERSITE Daca aceasta este definita ca un ir de caractere care nu este gol, este echivalenta cu specificarea opiunii -s; (nu adauga directorul sitului utilizatorului in sys.path). PYTHONUNBUFFERED Daca aceasta este definita ca un ir de caractere nevid, este echivalenta cu specificarea opiunii -u. PYTHONVERBOSE Daca aceasta este definita ca un ir de caractere nevid, este echivalenta cu specificarea opiunii -v. Daca este definita ca un numar intreg, aceasta este echivalenta cu specificarea de mai multe ori a opiunii -v. PYTHONWARNINGS Daca aceasta este definita ca un ir de caractere separate prin virgula, este echivalenta cu specificarea opiunii -W pentru fiecare valoare separata. PYTHONHASHSEED Daca aceasta variabila este definita ca ,,random", se utilizeaza o valoare aleatorie pentru a genera sumele de control ale obiectelor ,,str" i octei. Daca PYTHONHASHSEED este definita la o valoare intreaga, aceasta este utilizata ca o samana fixa pentru generarea hash() a tipurilor acoperite de amestecarea aleatorie a sumelor de control (hash). Scopul sau este de a permite repetarea sumelor de control, cum ar fi pentru testele de autoverificare pentru interpretul insui sau pentru a permite unui grup de procese python sa-i partajeze valorile hash. Numarul intreg trebuie sa fie un numar zecimal in intervalul [0,4294967295]. Specificarea valorii 0 va dezactiva amestecarea aleatorie a sumelor de control (hash). PYTHONINTMAXSTRDIGITS Limiteaza numarul maxim de caractere numerice dintr-o valoare int la conversia dintr-un ir de caractere i la conversia unui int inapoi intr-un ir de caractere. O valoare de 0 dezactiveaza limitarea. Conversiile in sau din bazele 2, 4, 8, 16 i 32 nu sunt niciodata limitate. PYTHONMALLOC Stabilete alocatorii de memorie Python i/sau instaleaza carligele-declanatoare de depanare. Alocatorii de memorie disponibili sunt malloc i pymalloc. Carligele-declanatoare de depanare disponibile sunt debug, malloc_debug i pymalloc_debug. Atunci cand Python este compilat in modul de depanare, valoarea implicita este pymalloc_debug, iar carligele-declanatoare de depanare sunt utilizate automat. In caz contrar, valoarea implicita este pymalloc. PYTHONMALLOCSTATS Daca este definita la un ir de caractere nevid, Python va imprima statisticile alocatorului de memorie pymalloc de fiecare data cand este creat un nou obiect pymalloc arena, precum i la inchidere. Aceasta variabila este ignorata in cazul in care variabila de mediu $PYTHONMALLOC este utilizata pentru a fora alocatorul malloc(3) al bibliotecii C sau daca Python este configurat fara suport pentru pymalloc. PYTHONASYNCIODEBUG Daca aceasta variabila de mediu este definita la un ir de caractere care nu este gol, activeaza modul de depanare al modulului ,,asyncio". PYTHONTRACEMALLOC Daca aceasta variabila de mediu este definita la un ir de caractere care nu este gol, incepe sa urmareasca alocarile de memorie Python utilizand modulul ,,tracemalloc". Valoarea variabilei este numarul maxim de cadre stocate intr-o urmarire a unui traseu. De exemplu, PYTHONTRACEMALLOC=1 stocheaza numai cel mai recent cadru. PYTHONFAULTHANDLER Daca aceasta variabila de mediu este definita ca un ir de caractere care nu este gol, faulthandler.enable() este apelata la pornire: instaleaza un gestionar pentru semnalele SIGSEGV, SIGFPE, SIGABRT, SIGBUS i SIGILL pentru a afia urmarirea traseului Python. Acest lucru este echivalent cu opiunea -X faulthandler. PYTHONEXECUTABLE Daca aceasta variabila de mediu este definita, sys.argv[0] va fi stabilita la valoarea sa in loc de valoarea obinuta prin intermediul timpului de execuie C. Funcioneaza numai in Mac OS X. PYTHONUSERBASE Definete directorul de baza al utilizatorului, care este utilizat pentru a calcula ruta directorului site-packages al utilizatorului i rutele de instalare pentru python -m pip install --user. PYTHONPROFILEIMPORTTIME Daca aceasta variabila de mediu este definita ca un ir de caractere nevid, Python va arata cat dureaza fiecare import. Acest lucru este exact echivalent cu definirea opiunii -X importtime in linia de comanda. PYTHONBREAKPOINT Daca aceasta variabila de mediu este definita la 0, se dezactiveaza depanatorul implicit. Aceasta poate fi stabilita ca fiind o opiune de apelare a depanatorului preferat. Variabilele din modul de depanare Definirea acestor variabile are efect numai intr-o compilare de depanare a Python, adica daca Python a fost configurat cu opiunea de compilare --with-pydebug. PYTHONDUMPREFS Daca aceasta variabila de mediu este definita, Python va afia obiectele i numarul de referine inca in viaa dupa inchiderea interpretului. AUTOR Fundaia Software Python: https://www.python.org/psf/ RESURSE DE INTERNET Pagina principala: https://www.python.org/ Documentation: https://docs.python.org/ Resurse pentru dezvoltatori: https://devguide.python.org/ Descarcari: https://www.python.org/downloads/ Depozitul de module: https://pypi.org/ Grupuri de tiri: comp.lang.python, comp.lang.python.announce LICENE Python este distribuit sub o licena Open Source. Consultai fiierul ,,LICENSE" din distribuia sursei Python pentru informaii privind termenii i condiiile de acces i de utilizare a Python i pentru o DECLINARE DE RENUNARE A TUTUROR GARANIILOR. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . PYTHON(1)