PYTHON(1) General Commands Manual PYTHON(1)

python - un limbaj de programare interpretat, interactiv, orientat pe obiecte

python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
[ -m nume-modul ] [ -q ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -X opțiune ] [ -? ]
[ --check-hash-based-pycs default (implicit) | always (întotdeauna) | never (niciodată) ]
[ --help ] [ --help-env ] [ --help-xoptions ] [ --help-all ]
[ -c comanda | script | - ] [ argumente ]

Python este un limbaj de programare interpretat, interactiv și orientat pe obiecte, care combină o putere remarcabilă cu o sintaxă foarte clară. Pentru o introducere în programarea în Python, consultați Tutorialul Python. Referința bibliotecii Python documentează tipurile încorporate și standard, constantele, funcțiile și modulele. În cele din urmă, Manualul de referință Python descrie sintaxa și semantica limbajului de bază în (poate prea) multe detalii; (aceste documente pot fi localizate prin intermediul secțiunii RESURSE ÎN INTERNET de mai jos; ele pot fi, de asemenea, instalate pe sistemul dumneavoastră).

Capacitatea de bază a Python poate fi extinsă cu propriile module scrise în C sau C++. Pe majoritatea sistemelor, astfel de module pot fi încărcate dinamic. Python este, de asemenea, adaptabil ca un limbaj de extensie pentru aplicațiile existente. Consultați documentația internă pentru indicații.

Documentația pentru modulele și pachetele Python instalate poate fi vizualizată prin rularea programului pydoc.

Nu scrie fișierele .pyc la importare. A se vedea, de asemenea, PYTHONDONTWRITEBYTECODE.
Emite avertismente cu privire la str(bytes_instance), str(bytearray_instance) și compararea bytes/bytearray cu str. (-bb: emite erori)
Specifică comanda de executat (a se vedea secțiunea următoare). Aceasta încheie lista de opțiuni (următoarele opțiuni sunt transmise ca argumente la comandă).
Configurează modul în care Python evaluează actualizarea fișierelor .pyc bazate pe sumă de control (hash).
Activează ieșirea de depanare a analizatorului (numai pentru experți, în funcție de opțiunile de compilare).
Ignoră variabilele de mediu, cum ar fi PYTHONPATH și PYTHONHOME, care modifică comportamentul interpretului.
Afișează modul de utilizare al executabilului interpretului și iese.
Afișează ajutorul privind variabilele de mediu specifice Python și iese.
Afișează ajutorul privind opțiunile specifice implementării -X și iese.
Afișează informațiile complete de utilizare și iese.
Atunci când un script este trecut ca prim argument sau când se utilizează opțiunea -c, intrați în modul interactiv după executarea scriptului sau a comenzii. Nu se citește fișierul $PYTHONSTARTUP. Acest lucru poate fi util pentru a inspecta variabilele globale sau un traseu de stivă atunci când un script generează o excepție.
Rulează Python în modul izolat. Acest lucru implică, de asemenea, -E, -P și -s. În modul izolat, sys.path nu conține nici directorul scriptului, nici directorul site-packages al utilizatorului. Toate variabilele de mediu PYTHON* sunt, de asemenea, ignorate. Pot fi impuse restricții suplimentare pentru a împiedica utilizatorul să injecteze cod malițios.
Caută în sys.path modulul numit și execută fișierul .py corespunzător ca script. Aceasta încheie lista de opțiuni (următoarele opțiuni sunt transmise ca argumente către modul).
Elimină declarațiile assert și orice cod condiționat de valoarea __debug__; mărește numele de fișier pentru fișierele compilate (bytecode) adăugând .opt-1 înaintea extensiei .pyc.
Efectuează -O și, de asemenea, înlătură „docstrings”; modifică numele de fișier pentru fișierele compilate (bytecode) adăugând .opt-2 înaintea extensiei .pyc.
Nu adaugă automat o rută potențial nesigură la sys.path, cum ar fi directorul curent, directorul scriptului sau un șir gol. A se vedea, de asemenea, variabila de mediu PYTHONSAFEPATH.
Nu imprimă mesajele privind versiunea și drepturile de autor. Aceste mesaje sunt, de asemenea, suprimate în modul non-interactiv.
Nu adaugă directorul sitului utilizatorului la sys.path.
Dezactivează importul modulului site și manipulările dependente de „site” ale sys.path pe care le implică. De asemenea, dezactivează aceste manipulări în cazul în care site este importat explicit ulterior.
Forțează fluxurile de la ieșirea standard și de la ieșirea de eroare standard să fie fără memorie tampon. Această opțiune nu are niciun efect asupra fluxului de la intrarea standard.
Afișează un mesaj de fiecare dată când un modul este inițializat, indicând locul (nume de fișier sau modul încorporat) din care este încărcat. Dacă este dată de două ori, afișează un mesaj pentru fiecare fișier care este verificat la căutarea unui modul. De asemenea, oferă informații despre curățarea modulului la ieșire.
Afișează numărul versiunii Python a executabilului și iese. Dacă este dată de două ori, afișează mai multe informații despre compilare.
Controlează avertizarea. Mecanismul de avertizare Python imprimă în mod implicit mesaje de avertisment în sys.stderr.

Cele mai simple configurări aplică o anumită acțiune necondiționat tuturor avertismentelor emise de un proces (chiar și celor care sunt ignorate în mod implicit):


-Wdefault # Avertizează o dată pentru fiecare locație de apel
-Werror # Convertește în excepții
-Walways # Avertizează de fiecare dată
-Wmodule # Avertizează o dată pentru fiecare modul de apelare
-Wonce # Avertizează o dată pentru fiecare proces Python
-Wignore # Nu avertizează niciodată

Numele acțiunilor pot fi prescurtate după cum se dorește, iar interpretul le va rezolva cu numele acțiunii corespunzătoare. De exemplu, -Wi este același lucru cu -Wignore.

Forma completă a argumentului este: acțiune:mesaj:categorie:modul:numărlinie.

Câmpurile goale se potrivesc cu toate valorile; câmpurile goale din urmă pot fi omise. De exemplu, -W ignore::DeprecationWarning ignoră toate avertismentele DeprecationWarning.

Câmpul acțiune este la fel ca cel explicat mai sus, dar se aplică numai avertismentelor care corespund celorlalte câmpuri.

Câmpul mesaj trebuie să se potrivească cu întregul mesaj de avertisment afișat; această potrivire nu ține cont de majuscule și minuscule.

Câmpul categoria corespunde categoriei de avertisment (de exemplu: "DeprecationWarning"). Acesta trebuie să fie un nume de clasă; testul de potrivire verifică dacă categoria reală de avertizare a mesajului este o subclasă a categoriei de avertisment specificate.

Câmpul modul se potrivește cu numele (complet calificat) al modulului; această potrivire este sensibilă la majuscule și minuscule.

Câmpul numărlinie se potrivește cu numărul de linie, unde zero se potrivește cu toate numerele de linie și este astfel echivalent cu un număr de linie omis.

Se pot da mai multe opțiuni -W; atunci când un avertisment corespunde mai multor opțiuni, se execută acțiunea pentru ultima opțiune corespunzătoare. Opțiunile -W nevalabile sunt ignorate (cu toate acestea, se afișează un mesaj de avertizare cu privire la opțiunile nevalabile atunci când 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, funcția warnings.filterwarnings() poate fi utilizată pentru a folosi o expresie regulată pentru mesajul de avertizare.

Stabilește opțiunea specifică implementării. Sunt disponibile următoarele opțiuni:


-X faulthandler: activează faulthandler


-X showrefcount: afișează numărul total de referințe și numărul de blocuri
de memorie utilizate la terminarea programului sau după fiecare
instrucțiune în interpretul interactiv. Acest lucru funcționează numai
în cazul construcțiilor de depanare.


-X tracemalloc: începe să urmărească alocările de memorie Python folosind
modulul „tracemalloc”. În mod implicit, doar cel mai recent cadru este
stocat în urmărirea unui traseu. Utilizați „-X tracemalloc=NCADRE” pentru
a începe urmărirea cu o limită de urmărire a cadrelor NCADRE.


-X importtime: arată cât durează fiecare import. Se afișează numele
modulului, timpul cumulat (inclusiv importurile imbricate) și timpul
propriu (excluzând importurile imbricate). Rețineți că rezultatul poate
fi întrerupt în cazul unei aplicații cu mai multe fire. Utilizarea tipică
este «python3 -X importtime -c 'import asyncio'».


-X dev: activează „modul de dezvoltare” al CPython, introducând verificări de
timp de execuție suplimentare care sunt prea costisitoare pentru a fi
activate în mod implicit. Acesta nu va fi mai descriptiv decât modul
implicit dacă codul este corect: noile avertismente sunt emise doar
atunci când este detectată o problemă. Efectul modului de dezvoltare:
* Adaugă un filtru de avertizare implicit, ca -W implicit.
* Instalează cârlige de depanare pe alocatorii de memorie: a se vedea
PyMem_SetupDebugHooks() funcția C
* Activează modulul „faulthandler” pentru a descărca traseul de urmărire
a execuției Python în cazul unui accident
* Activează modul de depanare „asyncio”
* Stabilește atributul dev_mode din sys.flags la „True”
* destructorul io.IOBase înregistrează excepțiile close()


-X utf8: activează modul UTF-8 pentru interfețele sistemului de operare,
înlocuind modul implicit care ține cont de specificul local. „-X utf8=0”
dezactivează în mod explicit modul UTF-8 (chiar și în cazul în care,
în caz contrar, acesta s-ar activa automat). Consultați PYTHONUTF8 pentru
mai multe detalii.


-X pycache_prefix=RUTA: permite scrierea fișierelor .pyc într-un arbore paralel
cu rădăcina în directorul dat, în loc să fie scrise în arborele de cod.


-X warn_default_encoding: activează opțiunea EncodingWarning pentru 'encoding=None'


-X no_debug_ranges: dezactivează includerea tabelelor de cartografiere a
informațiilor suplimentare de localizare (linia de sfârșit, poziția
coloanei de început și poziția coloanei de sfârșit) pentru fiecare
instrucțiune din obiectele de cod. Acest lucru este util atunci când se
doresc obiecte de cod și fișiere pyc mai mici, precum și pentru a suprima
indicatorii vizuali suplimentari de localizare atunci când interpretul
afișează trasee de urmărire a execuției.


-X frozen_modules=[on|off]: dacă trebuie sau nu utilizate modulele înghețate.
Valoarea implicită este „on” (sau „off” dacă executați o construcție locală).


-X int_max_max_str_digits=număr: limitează dimensiunea conversiilor int<->str.
Acest lucru ajută la evitarea atacurilor de negare a serviciului atunci
când se analizează date nesigure.
Valoarea implicită este sys.int_info.default_max_str_digits. 0 dezactivează.

Omite prima linie a sursei. Acest lucru este destinat doar pentru un „hack” (accesare) specific DOS. Atenție: numerele de linie din mesajele de eroare vor fi decalate cu unu!

Interfața interpretului seamănă cu cea a shell-ului UNIX: atunci când este apelat cu intrarea standard conectată la un dispozitiv tty, solicită comenzi și le execută până la citirea unui EOF; atunci când este apelat cu un argument de nume de fișier sau cu un fișier ca intrarea standard, citește și execută un script din acel fișier; atunci când este apelat cu -c comanda, execută instrucțiunea (instrucțiunile) Python dată(e) ca comanda. Aici comanda poate conține mai multe instrucțiuni separate prin linii noi. Spațiul de început este semnificativ în instrucțiunile Python! În modul non-interactiv, întreaga intrare este analizată înainte de a fi executată.

Dacă este disponibil, numele scriptului și argumentele suplimentare ulterioare sunt transmise scriptului în variabila Python sys.argv, care este o listă de șiruri de caractere (trebuie mai întâi s-o importați: import sys pentru a o putea accesa). Dacă nu se dă niciun nume de script, sys.argv[0] este un șir de caractere gol; dacă se utilizează -c, sys.argv[0] conține șirul de caractere '-c'. Rețineți că opțiunile interpretate de interpretul Python însuși nu sunt plasate în sys.argv.

În modul interactiv, promptul principal este „>>>>”; al doilea prompt (care apare atunci când o comandă nu este completă) este „...”. Solicitările pot fi modificate prin atribuirea la sys.ps1 sau sys.ps2. Interpretul se oprește atunci când citește un sfârșit de fișier (EOF) la un prompt. Atunci când apare o excepție netransmisă, se imprimă o urmărire a stivei și controlul revine la promptul principal; în modul non-interactiv, interpretul iese după imprimarea urmăririi stivei. Semnalul de întrerupere generează excepția KeyboardInterrupt; alte semnale UNIX nu sunt detectate (cu excepția faptului că SIGPIPE este uneori ignorat, în favoarea excepției IOError). Mesajele de eroare sunt scrise la ieșirea de eroare standard (stderr).

Acestea pot fi diferite în funcție de convențiile locale de instalare; ${prefix} și ${exec_prefix} depind de instalare și trebuie interpretate ca fiind pentru software-ul GNU; ele pot fi identice. Valoarea implicită pentru ambele este /usr/local.

${exec_prefix}/bin/python
Locația recomandată a interpretului.

${prefix}/lib/python<versiunea>
${exec_prefix}/lib/python<versiunea>

Locațiile recomandate ale directoarelor care conțin modulele standard.

${prefix}/include/python<versiunea>
${exec_prefix}/include/python<versiunea>

Locațiile recomandate ale directoarelor care conțin fișierele include necesare pentru dezvoltarea extensiilor Python și încorporarea interpretului.

Dacă este definită la un șir de caractere care nu este gol, nu se adaugă automat o rută potențial nesigură la sys.path, cum ar fi directorul curent, directorul scriptului sau un șir de caractere gol. A se vedea, de asemenea, opțiunea -P.
Modifică locația bibliotecilor Python standard. În mod implicit, bibliotecile sunt căutate în ${prefix}/lib/python<version> și ${exec_prefix}/lib/python<version>, unde ${prefix} și ${exec_prefix} sunt directoare dependente de instalare, ambele fiind în mod implicit /usr/local. Atunci când $PYTHONHOME este definită pentru un singur director, valoarea sa înlocuiește atât ${prefix}, cât și ${exec_prefix}. Pentru a specifica valori diferite pentru acestea, definiți $PYTHONHOME la ${prefix}:${exec_prefix}.
Mărește ruta de căutare implicită pentru fișierele de module. Formatul este același cu $PATH din shell: unul sau mai multe nume de rute de directoare separate prin două puncte („:”). Directoarele inexistente sunt ignorate în mod silențios. Ruta de căutare implicită depinde de instalare, dar în general începe cu ${prefix}/lib/python<versiune> (a se vedea PYTHONHOME de mai sus). Ruta de căutare implicită este întotdeauna adăugată la $PYTHONPATH. Dacă se dă un argument script, directorul care conține scriptul este inserat în ruta din fața lui $PYTHONPATH. Ruta de căutare poate fi manipulată din cadrul unui program Python ca variabilă sys.path.
Suprascrie sys.platlibdir.
Dacă acesta este numele unui fișier care poate fi citit, comenzile Python din acel fișier sunt executate înainte de a fi afișat primul prompt în modul interactiv. Fișierul este executat în același spațiu de nume în care sunt executate comenzile interactive, astfel încât obiectele definite sau importate în el pot fi utilizate fără calificare în sesiunea interactivă. De asemenea, puteți modifica prompturile sys.ps1 și sys.ps2 din acest fișier.
Dacă aceasta este definită ca un șir de caractere nevid, este echivalentă cu specificarea opțiunii -O. Dacă este definită ca un număr întreg, aceasta este echivalentă cu specificarea de mai multe ori a opțiunii -O.
Dacă aceasta este definită ca un șir de caractere nevid, este echivalentă cu specificarea opțiunii -d. Dacă este definită ca un număr întreg, aceasta este echivalentă cu specificarea de mai multe ori a opțiunii -d.
Dacă aceasta este definită ca un șir de caractere nevid, este echivalentă cu specificarea opțiunii -B (nu încearcă să scrie fișiere .pyc).
Dacă aceasta este definită ca un șir de caractere nevid, este echivalentă cu specificarea opțiunii -i.
Dacă aceasta este definită înainte de a rula interpretul, înlocuiește codificarea utilizată pentru stdin/stdout/stderr, în sintaxa encodingname:errorhandler Partea errorhandler este opțională și are aceeași semnificație ca în „str.encode”. Pentru stderr, partea errorhandler este ignorată; gestionarul va fi întotdeauna „backslashreplace”.
Dacă aceasta este definită ca un șir de caractere care nu este gol, este echivalentă cu specificarea opțiunii -s; (nu adaugă directorul sitului utilizatorului în sys.path).
Dacă aceasta este definită ca un șir de caractere nevid, este echivalentă cu specificarea opțiunii -u.
Dacă aceasta este definită ca un șir de caractere nevid, este echivalentă cu specificarea opțiunii -v. Dacă este definită ca un număr întreg, aceasta este echivalentă cu specificarea de mai multe ori a opțiunii -v.
Dacă aceasta este definită ca un șir de caractere separate prin virgulă, este echivalentă cu specificarea opțiunii -W pentru fiecare valoare separată.
Dacă această variabilă este definită ca „random”, se utilizează o valoare aleatorie pentru a genera sumele de control ale obiectelor „str” și octeți.

Dacă PYTHONHASHSEED este definită la o valoare întreagă, aceasta este utilizată ca o sămânță fixă pentru generarea hash() a tipurilor acoperite de amestecarea aleatorie a sumelor de control (hash). Scopul său este de a permite repetarea sumelor de control, cum ar fi pentru testele de autoverificare pentru interpretul însuși sau pentru a permite unui grup de procese python să-și partajeze valorile hash.

Numărul întreg trebuie să fie un număr zecimal în intervalul [0,4294967295]. Specificarea valorii 0 va dezactiva amestecarea aleatorie a sumelor de control (hash).

Limitează numărul maxim de caractere numerice dintr-o valoare int la conversia dintr-un șir de caractere și la conversia unui int înapoi într-un șir de caractere. O valoare de 0 dezactivează limitarea. Conversiile în sau din bazele 2, 4, 8, 16 și 32 nu sunt niciodată limitate.
Stabilește alocatorii de memorie Python și/sau instalează cârligele-declanșatoare de depanare. Alocătorii de memorie disponibili sunt malloc și pymalloc. Cârligele-declanșatoare de depanare disponibile sunt debug, malloc_debug și pymalloc_debug.
Atunci când Python este compilat în modul de depanare, valoarea implicită este pymalloc_debug, iar cârligele-declanșatoare de depanare sunt utilizate automat. În caz contrar, valoarea implicită este pymalloc.
Dacă este definită la un șir de caractere nevid, Python va imprima statisticile alocatorului de memorie pymalloc de fiecare dată când este creat un nou obiect pymalloc arena, precum și la închidere.
Această variabilă este ignorată în cazul în care variabila de mediu $PYTHONMALLOC este utilizată pentru a forța alocatorul malloc(3) al bibliotecii C sau dacă Python este configurat fără suport pentru pymalloc.
Dacă această variabilă de mediu este definită la un șir de caractere care nu este gol, activează modul de depanare al modulului „asyncio”.
Dacă această variabilă de mediu este definită la un șir de caractere care nu este gol, începe să urmărească alocările de memorie Python utilizând modulul „tracemalloc”.
Valoarea variabilei este numărul maxim de cadre stocate într-o urmărire a unui traseu. De exemplu, PYTHONTRACEMALLOC=1 stochează numai cel mai recent cadru.
Dacă această variabilă de mediu este definită ca un șir de caractere care nu este gol, faulthandler.enable() este apelată la pornire: instalează un gestionar pentru semnalele SIGSEGV, SIGFPE, SIGABRT, SIGBUS și SIGILL pentru a afișa urmărirea traseului Python.
Acest lucru este echivalent cu opțiunea -X faulthandler.
Dacă această variabilă de mediu este definită, sys.argv[0] va fi stabilită la valoarea sa în loc de valoarea obținută prin intermediul timpului de execuție C. Funcționează numai în Mac OS X.
Definește directorul de bază al utilizatorului, care este utilizat pentru a calcula ruta directorului site-packages al utilizatorului și rutele de instalare Distutils pentru python setup.py install --user.
Dacă această variabilă de mediu este definită ca un șir de caractere nevid, Python va arăta cât durează fiecare import. Acest lucru este exact echivalent cu definirea opțiunii -X importtime în linia de comandă.
Dacă această variabilă de mediu este setată la 0, se dezactivează depanatorul implicit. Aceasta poate fi stabilită ca fiind o opțiune de apelare a depanatorului preferat.

Definirea acestor variabile are efect numai într-o compilare de depanare a Python, adică dacă Python a fost configurat cu opțiunea de compilare --with-pydebug.

Dacă această variabilă de mediu este definită, Python va imprima informații de depanare a firelor. Această caracteristică este depășită în Python 3.10 și va fi eliminată în Python 3.12.
Dacă această variabilă de mediu este definită, Python va afișa obiectele și numărul de referințe încă în viață după închiderea interpretului.

Fundația Software Python: https://www.python.org/psf/

Pagina principală: https://www.python.org/
Documentation: https://docs.python.org/
Resurse pentru dezvoltatori: https://devguide.python.org/
Descărcări: https://www.python.org/downloads/
Depozitul de module: https://pypi.org/
Grupuri de știri: comp.lang.python, comp.lang.python.announce

Python este distribuit sub o licență Open Source. Consultați fișierul „LICENSE” din distribuția sursei Python pentru informații privind termenii și condițiile de acces și de utilizare a Python și pentru o DECLINARE DE RENUNȚARE A TUTUROR GARANȚIILOR.

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.