Ano ang Modyul ng OS ng Python at Paano Mo Ginagamit Ito?

Ano ang Modyul ng OS ng Python at Paano Mo Ginagamit Ito?

Ang module ng OS sa Python ay nagbibigay ng pag-access sa mga function na tukoy sa system para sa pakikitungo sa filesystem, proseso, scheduler, atbp. Kailangan mong master ang system ng Python OS para sa pagsusulat ng mga application na haharapin ang mga problema sa totoong mundo. Tinalakay ng gabay na ito ang ilan sa mga pangunahing konsepto at naglalarawan kung paano gamitin ang utos ng system ng Python.





Mga tampok ng Python OS System

Ang OS system ay nagsisilbing isang portable na paraan ng pakikipag-ugnay sa napapailalim na operating system. Nag-aalok ito ng pag-access sa mga pangalan ng file, mga argumento ng linya ng utos, mga variable ng kapaligiran, mga parameter ng proseso, at hierarchy ng filesystem kasama ang iba pang mga pagpapaandar.





Naglalaman din ang module na ito ng dalawang mga sub-module, ang os.sys module, at os.path module. Maaari mong gamitin ang mga pagpapaandar na ibinigay ng module ng OS para sa pagganap ng isang malawak na hanay ng mga gawain. Kasama sa ilang karaniwang paggamit ang pagpapatupad ng mga command ng shell, pamamahala ng mga file at direktoryo, mga proseso ng pangingitlog, atbp.





Pagsisimula Sa Module ng OS

Ang pinakamadaling paraan ng pagtuklas sa module ng OS ay sa pamamagitan ng interpreter. Maaari mong i-import ang module doon at gamitin ang mga pagpapaandar ng system nang hindi sumusulat ng source code. Kailangan mong magkaroon ng naka-install na Python para dito. Kaya't magpatuloy at i-install ang Python sa iyong lokal na makina.

Kaugnay: Paano Mag-install ng Python sa Ubuntu



Simulan ang interpreter sa pamamagitan ng pagta-type sawa sa iyong terminal o command shell. Kapag bukas ito, i-import ang module ng OS sa pamamagitan ng paggamit ng sumusunod na pahayag.

bakit ang lakas ng fan sa laptop ko?
>>> import os

Maaari mo na ngayong ma-access ang mga pagpapaandar na ibinigay ng module ng OS, kasama ang Python sistema utos Halimbawa, maaari mong matukoy ang platform ng system gamit ang pangalan utos Ipinapakita ng halimbawa sa ibaba kung paano tumawag sa mga utos ng system na nakalantad ng module ng OS.





>>> os.name

Sinusuri ng pagpapaandar na ito kung ang ilang partikular na mga module na tukoy sa OS ay naroroon at matukoy ang platform batay dito. Gamitin ang uname pagpapaandar upang makakuha ng detalyadong impormasyon.

>>> os.uname()

Ipinapakita ng utos na ito ang eksaktong platform ng system sa tabi ng arkitektura ng machine, paglabas, at impormasyon ng bersyon. Gamitin ang getcwd pagpapaandar upang makuha ang kasalukuyang gumaganang direktoryo.





>>> os.getcwd()

Madali mong mababago ang gumaganang direktoryo gamit ang utos ng system ng Python chdir . Ipasa ang bagong lokasyon bilang isang parameter ng string.

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

Ang mkdir Ang pag-andar ng module ng OS ay gumagawa nang direkta sa paglikha ng mga bagong direktoryo. Pinapayagan din kaming lumikha ng mga recursive folder, ibig sabihin lilikha ng Python ang lahat ng mga nawawalang direktoryo na mga magulang sa direktoryo ng dahon.

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

Gamitin ang rmdir utos na tanggalin ang mga direktoryo mula sa iyong gumaganang direktoryo.

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

Mga halimbawa ng Python System Command

Ang utos ng system na ibinigay ng module ng OS ay nagbibigay-daan sa mga programmer na magpatupad ng mga command ng shell. Tiyaking tukuyin ang pangalan ng utos bilang isang string. Kapag tinawag mo na ang sawa sistema utos, tatakbo ang ibinigay na utos sa isang bagong subshell.

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

Maaari kang magpatakbo ng iba pang mga stand-alone na application gamit ang parehong pamamaraan. Ang sumusunod na halimbawa ay nagpapatupad ng terminal editor nano mula sa iyong shell ng Python.

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

Ang sistema ng Python OS ay naglalabas din ng return code para sa bawat utos na naisakatuparan. Ang mga system ng POSIX ay nagbabalik ng 0 para sa matagumpay na pagpapatupad at mga hindi halaga na nonzero upang ipahiwatig ang mga problema.

Maaari mong gamitin ang OS system sa Python para sa pagpapatakbo ng anumang nais mo. Halimbawa, kung kailangang basahin ng iyong programa ang impormasyon sa bersyon ng isang programa sa machine ng gumagamit, maaari kang gumawa ng tulad ng sumusunod.

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

Ang halimbawa sa ibaba ay nagpapatupad ng isang simpleng utos ng shell na lumilikha ng isang bagong file na tinawag mga gumagamit.txt at isinasama ito sa lahat ng mga gumagamit na naka-log in. Maraming mga programa sa Python ang gumagawa ng mga bagay na ito.

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

Ipinapasa namin ang pangalan ng utos sa OS system bilang isang string. Maaari mong gamitin ang lahat ng mga uri ng kapaki-pakinabang na mga utos ng terminal sa parehong paraan

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

Maaari mo ring gamitin subproseso tawag para sa pagpapatupad ng mga utos ng system mula sa Python. Nagbibigay ito ng maraming idinagdag na mga benepisyo, kabilang ang mas mabilis na runtime, mas mahusay na paghawak ng error, pag-parse ng output, at mga utos ng tubo ng shell. Inirekumenda din ng opisyal na dokumentasyon ng Python ang subprocess na pagtawag sa mga mas lumang mga module tulad os.system at os.spawn .

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

Pamamahala ng Mga File at Direktoryo sa pamamagitan ng Module ng OS

Ipinakita namin kung paano lumikha ng mga simpleng file at direktoryo gamit ang module ng Python OS. Paano kung nais mong lumikha ng mga pugad na folder? Inaalagaan din ito ng OS system para sa amin ng mga programmer. Halimbawa, ang mga snippet sa ibaba ay lumilikha ng folder $ HOME / test / root / api . Lilikha din ito ng mga kinakailangang direktoryo ng magulang kung hindi sila magagamit.

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

Una, nakuha namin ang direktoryo ng bahay gamit ang tungkol sa at pagkatapos ay sumali sa mga pangalan ng folder sa pamamagitan ng os.path.join . Ipinapakita ng pahayag sa pag-print ang pangalan ng folder, at mga makedir lumilikha nito.

Maaari naming tingnan ang bagong direktoryo gamit ang listdir paraan ng module ng OS.

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

Madali mong mapapalitan ang pangalan ng direktoryo ng api gamit ang palitan ang pangalan utos na inaalok ng module ng OS. Ang pahayag sa ibaba ay pinangalanan ang direktoryo ng api na ito sa test-api.

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

Gamitin ang isfile at pangalan pagpapaandar ng OS kung kailangan ng iyong programa na patunayan ang mga partikular na file o direktoryo.

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

Pinapayagan din ng module ng OS sa Python ang mga developer na kumuha ng mga pangalan ng file at folder sa tabi ng mga extension ng file. Ang mga snippet sa ibaba ay naglalarawan ng paggamit ng os.path.split at os.path.splitext tungkol dito.

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

Gamitin ang code sa ibaba upang kumuha ng mga extension tulad ng .txt o .mp3 mula sa mga filename.

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

Sari-saring Paggamit ng Python OS System

Nag-aalok ang module ng OS ng maraming karagdagang pag-andar para sa pagmamanipula ng mga bagay tulad ng mga proseso ng gumagamit at tagapag-iskedyul ng trabaho. Halimbawa, maaari mong mabilis na makuha ang UID (user id) ng kasalukuyang proseso gamit ang nakasaksi pagpapaandar

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

Ang getgid ibabalik ng pagpapaandar ang pangkat ng id ng tumatakbo na proseso. Gamitin getpid para sa pagkuha ng PID (process id) at getppid upang makuha ang id ng proseso ng magulang.

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

Maaari mo ring gamitin ang module ng OS para sa pagbabago ng mga pahintulot ng mga file at direktoryo mula sa iyong programa sa Python. Gamitin ang chmod pagpapaandar ng OS upang gawin ito.

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

Binabago ng utos na ito ang pahintulot ng file1.txt sa 0444 . Gamitin 0o444 sa halip na 0444 upang matiyak na ang pahayag ay katugma sa parehong pangunahing mga bersyon ng Python.

Gamitin ang Lakas ng Python OS System

Ang module ng OS ng Python ay nagbibigay ng lahat ng kailangan mo upang makipag-ugnay sa napapailalim na operating system. Ang isang malinaw na pag-unawa sa OS system ay kinakailangan para sa pagsusulat ng totoong mga programa ng cross-platform. Sinakop namin ang ilan sa mga pangunahing pagpapaandar na ibinigay ng modyul na ito upang matulungan kang makapagsimula. Subukan ang mga ito sa iyong sariling bilis, at huwag kalimutang mag-tinker sa kanila.

Magbahagi Magbahagi Mag-tweet Email Paano Lumikha at Gumamit ng Mga Tuple sa Python

Handa nang kunin ang iyong pag-cod ng Python sa susunod na antas? Panahon na upang maunawaan kung paano lumikha at gumamit ng mga tuple.

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Sawa
Tungkol sa May-akda Rubaiat Hossain(39 Mga Artikulo Na-publish)

Ang Rubaiat ay isang CS grad na may isang malakas na pagkahilig para sa open-source. Bukod sa pagiging isang beterano ng Unix, nasa security security, cryptography, at functional program din siya. Siya ay isang masugid na kolektor ng mga pangalawang libro at may walang katapusang paghanga sa klasikong rock.

Higit pa Mula sa Rubaiat Hossain

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe