Què és el mòdul SO de Python i com el fa servir?

Què és el mòdul SO de Python i com el fa servir?

El mòdul del sistema operatiu de Python proporciona accés a funcions específiques del sistema per tractar el sistema de fitxers, els processos, el planificador, etc. Heu de dominar el sistema operatiu Python per escriure aplicacions que tractin problemes del món real. Aquesta guia analitza alguns dels conceptes bàsics i il·lustra com utilitzar l'ordre del sistema Python.





Funcions del sistema operatiu Python

El sistema operatiu serveix com una forma portàtil d’interactuar amb el sistema operatiu subjacent. Ofereix accés a noms de fitxers, arguments de línia d’ordres, variables d’entorn, paràmetres de procés i jerarquia del sistema de fitxers juntament amb altres funcionalitats.





Aquest mòdul també conté dos submòduls, el mòdul os.sys i el mòdul os.path. Podeu utilitzar les funcions que proporciona el mòdul del SO per realitzar una àmplia gamma de tasques. Alguns usos habituals inclouen executar ordres de shell, gestionar fitxers i directoris, processos de generació, etc.





Introducció al mòdul del sistema operatiu

La forma més senzilla d’explorar el mòdul del sistema operatiu és mitjançant l’intèrpret. Podeu importar-hi el mòdul i utilitzar les funcions del sistema sense escriure codi font. Cal, però, que tingueu instal·lat Python. Així doncs, seguiu endavant i instal·leu Python a la vostra màquina local.

Relacionat: Com instal·lar Python a Ubuntu



Per iniciar l’intèrpret, escriviu pitó al vostre terminal o intèrpret d'ordres. Un cop obert, importeu el mòdul del sistema operatiu mitjançant la següent instrucció.

com solucionar la pantalla tàctil de la tauleta que no respon
>>> import os

Ara podeu accedir a les funcionalitats que proporciona el mòdul del sistema operatiu, inclòs el Python sistema comandament. Per exemple, podeu determinar la plataforma del sistema mitjançant nom comandament. L'exemple següent mostra com invocar ordres del sistema exposades pel mòdul del sistema operatiu.





>>> os.name

Aquesta funció comprova si hi ha alguns mòduls específics del sistema operatiu i determina la plataforma en funció d’això. Utilitzar el uname funció per obtenir informació detallada.

>>> os.uname()

Aquesta ordre mostra la plataforma del sistema exacta al costat de la informació de l'arquitectura, la versió i la versió de la màquina. Utilitzar el getcwd funció per recuperar el directori de treball actual.





>>> os.getcwd()

Podeu canviar fàcilment el directori de treball mitjançant l'ordre del sistema Python chdir . Passeu la ubicació nova com a paràmetre de cadena.

>>> os.chdir('/tmp')

El mkdir La funció del mòdul del sistema operatiu facilita la creació de nous directoris. També ens permet crear carpetes recursives, és a dir, Python crearà tots els directoris que falten que siguin pares del directori full.

>>> os.mkdir('new-dir')

Utilitzar el rmdir ordre per suprimir directoris del directori de treball.

>>> os.rmdir('new-dir')

Exemples d'ordres del sistema Python

L'ordre del sistema proporcionada pel mòdul OS permet als programadors executar ordres de l'intèrpret d'ordres. Assegureu-vos de definir el nom de l’ordre com una cadena. Una vegada que truqueu al pitó sistema , executarà l'ordre donada en un subshell nou.

>>> cmd = 'date'
>>> os.system(cmd)

Podeu executar altres aplicacions autònomes mitjançant aquest mateix mètode. L'exemple següent executa l'editor de terminal nano des del vostre intèrpret d'ordres Python.

>>> cmd = 'nano'
>>> os.system(cmd)

El sistema Python OS també emet el codi de retorn de cada ordre que s’executa. Els sistemes POSIX retornen 0 per a una execució satisfactòria i valors diferents de zero per indicar problemes.

Podeu utilitzar el sistema operatiu a Python per executar qualsevol cosa que vulgueu. Per exemple, si el vostre programa necessita llegir la informació de la versió d’un programa a la màquina de l’usuari, podeu fer el següent.

>>> cmd = 'gcc --version'
>>> os.system(cmd)

A l'exemple següent s'executa una senzilla ordre d'intèrpret d'ordres que crea un fitxer nou anomenat usuaris.txt i el completa amb tots els usuaris que han iniciat la sessió. Molts programes Python fan aquestes coses.

>>> os.system('users > test')

Estem passant el nom de l'ordre al sistema operatiu com una cadena. Podeu utilitzar tot tipus de fitxers ordres útils de terminal de la mateixa manera.

>>> os.system('ping -c 3 google.com')

També podeu utilitzar subprocés crida a executar ordres del sistema des de Python. Això proporciona diversos avantatges addicionals, incloent un temps d'execució més ràpid, un millor tractament d'errors, l'anàlisi de la sortida i les ordres de l'intèrpret d'ordres. La documentació oficial de Python també recomana una trucada de subprocés sobre mòduls antics, com ara os.system i os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

Gestió de fitxers i directoris mitjançant el mòdul del sistema operatiu

Hem mostrat com crear fitxers i directoris senzills mitjançant el mòdul Python OS. Què passa si voleu crear carpetes imbricades? El sistema operatiu també ens encarrega això als programadors. Per exemple, els fragments següents creen la carpeta $ HOME / test / root / api . També crearà els directoris pares necessaris si no estan disponibles.

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

En primer lloc, hem recuperat el directori inicial mitjançant Sobre i després es va unir als noms de les carpetes mitjançant os.path.join . La declaració d'impressió mostra el nom de la carpeta i makedirs el crea.

Podem veure el nou directori mitjançant el fitxer listdir mètode del mòdul OS.

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

Podeu canviar fàcilment el nom del directori API mitjançant el fitxer canviar el nom ordre que ofereix el mòdul del sistema operatiu. La sentència següent canvia el nom d'aquest directori api a test-api.

>>> os.rename('api', 'test-api')

Utilitzar el isfile i nom funció del sistema operatiu si el vostre programa necessita validar fitxers o directoris específics.

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

El mòdul de SO a Python també permet als desenvolupadors extreure noms de fitxers i carpetes junt amb extensions de fitxer. Els fragments següents il·lustren l’ús de os.path.split i os.path.splitext referent a això.

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

Utilitzeu el codi següent per extreure extensions com .txt o .mp3 dels noms de fitxer.

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

Ús divers del sistema operatiu Python

El mòdul del sistema operatiu ofereix moltes funcions addicionals per manipular coses com els processos de l'usuari i el planificador de treballs. Per exemple, podeu obtenir ràpidament l’UID (identificador d’usuari) del procés actual mitjançant el fitxer presenciat funció.

>>> os.getuid()
>>> os.getgid()

El getgid La funció retorna l'identificador de grup del procés en execució. Ús getpid per obtenir el PID (identificador de procés) i getppid per obtenir l'identificador de procés pare.

>>> os.getpid()
>>> os.getppid()

També podeu utilitzar el mòdul OS per canviar els permisos de fitxers i directoris del vostre programa Python. Utilitzar el chmod funció del SO per fer-ho.

>>> os.chmod('file1.txt', 0o444)

Aquesta ordre canvia el permís de file1.txt a 0444 . Ús 0o444 en lloc de 0444 per assegurar-vos que la declaració sigui compatible amb les dues versions principals de Python.

Aprofiteu el poder del sistema operatiu Python

El mòdul SO de Python proporciona tot el necessari per interactuar amb el sistema operatiu subjacent. Es necessita una comprensió clara del sistema operatiu per escriure programes realment multiplataforma. Hem cobert algunes de les funcions bàsiques que proporciona aquest mòdul per ajudar-vos a començar. Proveu-los al vostre ritme i no us oblideu de jugar amb ells.

Compartir Compartir Tweet Correu electrònic Com crear i utilitzar tuples a Python

Esteu a punt per portar la vostra codificació Python al següent nivell? És hora d’entendre com crear i utilitzar tuples.

Llegiu a continuació
Temes relacionats
  • Programació
  • Python
Sobre l'autor Rubaiat Hossain(39 articles publicats)

Rubaiat és un graduat en CS amb una forta passió pel codi obert. A part de ser un veterà d’Unix, també es dedica a la seguretat de la xarxa, a la criptografia i a la programació funcional. És un àvid col·leccionista de llibres de segona mà i té una admiració interminable pel rock clàssic.

Més de Rubaiat Hossain

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us