Apreneu el mòdul Python Sys


En aquest article, donarem una ullada al mòdul Python Sys. Hi ha variables i funcions que es mantenen per l'intèrpret i el mòdul sys proporciona una manera d'interactuar amb elles. Aquestes variables estan disponibles fins que l'intèrpret estigui viu. Tindrem un cop d'ull a algunes de les funcions sys d'ús habitual.

Per treballar amb el mòdul sys primer heu d'importar el mòdul.

sys.version: emmagatzema la informació sobre la versió actual de Python.

$ python3
>>> import sys
>>> sys.version

sys.path: la variable Path emmagatzema la ruta del directori en forma d'una llista de cadenes. Sempre que importeu un mòdul o executeu un programa mitjançant un camí relatiu, l'intèrpret de Python cerca el mòdul o l'script necessari mitjançant la variable camí.

L'índex de ruta emmagatzema el directori que conté l'script que es va utilitzar per invocar l'intèrpret de Python a l'índex \Zero. Si s'invoca l'intèrpret de manera interactiva o si l'script es llegeix des de l'entrada estàndard, el camí [0] serà una cadena buida.

>>> sys.path

Quan s'invoca l'script, la ruta[0] emmagatzema la ruta del directori.

$ vim 1.py
$ python3 1.py

Si teniu mòduls en un directori personalitzat, podeu afegir el camí del directori a la variable del camí mitjançant un mètode path.append() (ja que el camí és un objecte de llista, estem utilitzant el mètode de llista \append).

$ python3
>>> import sys
>>> sys.path
>>> sys.path.append('/root/test/')
>>> sys.path

sys.argv: argv s'utilitza per passar arguments de temps d'execució al vostre programa Python. Argv és una llista que emmagatzema el nom de l'script com a primer valor seguit dels arguments que passem. Els valors Argv s'emmagatzemen com a cadena de tipus i l'heu de convertir explícitament segons les vostres necessitats.

>>> sys.argv

Quan s'executa per sota del fragment, el valor final de la funció d'interval es passa a través de sys.argv[1] com a 10 i també es passen alguns altres valors per imprimir la llista de valors argv al final del programa.

#!/usr/bin/python3

import sys

for x in range(1,int(sys.argv[1])):
    print(x)
    
# Print all the arguments passed
print("Arguments passed:",sys.argv)

sys.executable: imprimeix la ruta absoluta del binari de l'intèrpret de Python.

>>> sys.executable
'/usr/bin/python3'

sys.platform: imprimeix el tipus de plataforma OS. Aquesta funció serà molt útil quan executeu el vostre programa com a dependent de la plataforma.

>>> sys.platform
'linux'

sys.exit: surt de l'intèrpret augmentant SystemExit (estat). Per defecte, es diu que l'estat és zero i es diu que té èxit. Podem utilitzar un valor enter com a Estat de sortida o altres tipus d'objectes com string(\fallida), tal com es mostra a l'exemple següent.

A sota de la mostra, s'utilitza un fragment per comprovar si la plataforma és Windows i després executar el codi. Si no, augmenta la funció exit().

#!/usr/bin/python3

import sys

if sys.platform == 'windows':  # CHECK ENVIRONMENT
    #code goes here
    pass
else:
    print("This script is intended to run only on Windows, Detected platform: ", sys.platform)
    sys.exit("Failed")

sys.maxsize: aquest és un valor enter que representa el valor màxim que pot contenir una variable.

On a 32-bit platform it is 2**31 - 1 
On a 64-bit platform it is 2**63 - 1

Hem vist algunes de les funcions importants del mòdul sys i hi ha moltes més funcions. Fins que no aparegui el següent article, podeu llegir més sobre el mòdul sys aquí.