Õpi Pythoni juhtimisvoogu ja -tsükleid shelliskriptide kirjutamiseks ja häälestamiseks - 2. osa


Selle Pythoni seeria eelmises artiklis jagasime lühitutvustust Pythonist, selle käsurea kestast ja IDLE-st. Samuti näitasime, kuidas aritmeetilisi arvutusi teha, kuidas väärtusi muutujatesse salvestada ja kuidas need väärtused ekraanile tagasi printida. Lõpuks selgitasime meetodi ja omaduste mõisteid objektorienteeritud programmeerimise kontekstis läbi praktilise näite.

Selles juhendis käsitleme juhtimisvoogu (erinevate tegevussuundade valimiseks sõltuvalt kasutaja sisestatud teabest, arvutuse tulemusest või muutuja praegusest väärtusest) ja tsükleid (korduvate ülesannete automatiseerimiseks) ja rakendame seejärel seda, mida me on siiani õppinud kirjutama lihtsat shelliskripti, mis kuvab operatsioonisüsteemi tüübi, hosti nime, kerneli versiooni, versiooni ja masina riistvara nime.

See näide, kuigi see on põhiline, aitab meil illustreerida, kuidas saame Python OOP-i võimalusi kasutada shelliskriptide kirjutamiseks lihtsamalt kui tavaliste bashi tööriistade kasutamine.

Teisisõnu, me tahame minna

# uname -snrvm

kuni

või

Tundub ilus, kas pole? Keerame varrukad kokku ja teeme selle teoks.

Kontrolli voogu Pythonis

Nagu me varem ütlesime, võimaldab kontrollvoog meil valida konkreetse seisundi järgi erinevaid tulemusi. Selle kõige lihtsam rakendamine Pythonis on klausel if/else.

Põhisüntaks on:

if condition:
    # action 1
else:
    # action 2

  1. Kui tingimuse väärtus on tõene, käivitatakse allpool olev koodiplokk (mida tähistab # action 1 . Vastasel juhul käivitatakse muu all olev kood.
  2. Tingimuseks võib olla mis tahes lause, mida saab hinnata kas õigeks või valeks. Näiteks:

1 < 3 # true
firstName == "Gabriel" # true for me, false for anyone not named Gabriel

  1. Esimeses näites võrdlesime kahte väärtust, et teha kindlaks, kas üks on suurem kui teine.
  2. Teises näites võrdlesime firstName (muutuja), et teha kindlaks, kas selle väärtus praeguses täitmispunktis on identne\"Gabrieliga"
  3. Tingimuse ja lause lause järele peab olema koolon (:)
  4. Taane on Pythonis oluline. Identsete taanetega ridu loetakse samasse koodiplokki.

Pange tähele, et lause if/else on ainult üks paljudest Pythonis saadaolevatest juhtimisvoo tööriistadest. Vaatasime selle siin üle, kuna kasutame seda hiljem oma skriptis. Ülejäänud tööriistade kohta saate lisateavet ametlikest dokumentidest.

Silmused Pythonis

Lihtsamalt öeldes on tsükkel käskude või lausete jada, mis täidetakse järjekorras seni, kuni tingimus on tõene või üks kord loendi üksuse kohta.

Pythoni kõige lihtsamat tsüklit tähistab for loop tsükkel antud loendi või stringi üksuste kohal, mis algavad esimese üksusega ja lõpevad viimasega.

Põhisüntaks:

for x in example:
	# do this

Siin näide võib olla kas loend või string. Kui esimene, tähistab muutuja nimega x loendi iga üksust; kui viimane, tähistab x stringi iga märki:

>>> rockBands = []
>>> rockBands.append("Roxette")
>>> rockBands.append("Guns N' Roses")
>>> rockBands.append("U2")
>>> for x in rockBands:
    	print(x)
or
>>> firstName = "Gabriel"
>>> for x in firstName:
    	print(x)

Ülaltoodud näidete väljund on näidatud järgmisel pildil:

Pythoni moodulid

Ilmselgetel põhjustel peab olema võimalus salvestada Pythoni käskude ja lausete jada faili, mida saab vajadusel kasutada.

Just see moodul on. Eelkõige pakub os-moodul liidese aluseks olevale operatsioonisüsteemile ja võimaldab meil teha paljusid operatsioone, mida tavaliselt käsureaviibas teeme.

Sellisena sisaldab see mitmeid meetodeid ja omadusi, mida saab kutsuda, nagu me eelmises artiklis selgitasime. Kuid peame selle oma keskkonda importima (või kaasama), kasutades impordi märksõna:

>>> import os

Trükime praeguse töökataloogi:

>>> os.getcwd()

Paneme nüüd kõik need kokku (koos eelmises artiklis käsitletud mõistetega), et kirjutada soovitud skript.