Piton

Python parancssori elemzés oktatóanyag

Python parancssori elemzés oktatóanyag
Az elemzés egy szövegsorozat elemzésének folyamata, hogy kiderüljön, mit kell tennie a programnak az adott parancsokkal. A szöveget apró darabokra bontják, néven tokenek, a fordító vagy az értelmező által ismert adatstruktúra felépítése érdekében. A végrehajtás a végén megadja az intend eredményt. A Pythont gyakran használják nyelvként a parancssorok egyszerű elemzéséhez. Ez az útmutató ezt a speciális modult használja, amelyet a Pythonhoz szállítottunk, és argparse néven ismert. Az argparse különlegessége, hogy nagyon egyszerűen használható, felhasználóbarát, elérhető a Python-szal, és könnyedén segít a parancssori interfészek létrehozásában.

A következő útmutató bemutatja, hogyan kell használni az argparse-t az Ubuntuban, a Python3-mal, és így győződjön meg arról, hogy mindkettő könnyen elérhető, mielőtt továbblépne. Ha a Python3 nem érhető el, akkor a következő két parancssorral telepíthető:

sudo apt-get frissítés
sudo apt-get install python3.6

Alapvető szintaxis

Ennek az útmutatónak az a célja, hogy felvázolja az argparse alapvető jellemzőit és annak egyes lehetőségeit. Az Argparse Python-ra és egy jegyzettömbre van szükség a parancsok beírásához. Az Ubuntunak van egy saját "szövegszerkesztő" néven ismert jegyzettömbje, amely az Ubuntu kötőjelen keresztül érhető el. A parancsokat a terminálon keresztül hajtják végre.

  1. Indítsa el a Szövegszerkesztőt az Ubuntu Dash segítségével.
  2. Írja be a következő két sort alapvető kódként. Az első sor az argparse modult importálja a kódrészletbe, míg a második egy argumentum-elemző objektumot hoz létre, amely tartalmazza a parancsok Python adattípusokba való elemzéséhez szükséges összes információt. import argparse
    parser = argparse.ArgumentParser ()
  3. Használja a következő parancsot az argumentum-karakterláncok objektummá alakításához. Általában az objektumot példányosítják, és egy változóhoz rendelik, de nem szükséges. elemző.parse_args ()
  4. A program a következő paranccsal futtatható Linux terminálon a python3-on keresztül. python3 pscript.py

Az alkalmazásleírás megjelenítése

Az alkalmazásleírás paramétere annak meghatározása, hogy mire szolgál az alkalmazás. Amikor a súgó parancsot a python szkriptnél használják, megjelenik az alkalmazás leírása a programban használható elérhető zászlókkal együtt.  A következő sort kell használni az alkalmazás leírásának megadásához.

parser = argparse.ArgumentParser (description = 'alkalmazásleírás')

A leírás megjelenítése a végén (epilógus)

Leírásként az epilógus a végén megjeleníthető az epilog paraméterrel. A leíráshoz hasonlóan meg kell adni az argumentParser függvényen belül is.

Az érvek használata

Az érveket a add_argument () funkció. Megadja, hogy a python szkriptnél mely helyzeti argumentumokat / argumentumokat kell használni. Alapértelmezés szerint a program elfogadja a -help jelzőt helyzeti argumentumként, de a fent említett függvény használatával még több adható hozzá. Az argumentumokat sokféleképpen adhatja hozzá az alkalmazáshoz.

Egyetlen pozíció érv

Az egyetlen helyzeti argumentum biztosítja, hogy a program csak egy argumentumot fogadjon el. A következő példában az bld-t állítja argumentumként; ennélfogva a program futtatásakor csak bld használható helyzeti argumentumként. Ha az argumentum hiányzik, a program hibát vet egy „túl kevés argumentum” figyelmeztető üzenettel. A helyzeti argumentum különlegessége, hogy ezt nem kell megadni a terminálban, amikor argumentumokat ad a programnak.

elemző.add_argument ("bld")

Pozicionális érv egy adott típusban

add_argument () nemcsak egy argumentumot vesz fel, hanem több argumentumot is, amint az a következő példában látható. Ha több argumentum van megadva, akkor azokat a következőképpen kell formázni. Az első argumentum meghatározza a helyzeti argumentum nevét, a második a típusa, vagyis az érték típusa, amelyet a program argumentumaként fogad el, az utolsó pedig a leírásé, amely csak a help flag használatakor jelenik meg.

A következő képernyőképen azt ábrázolja, hogy a program hogyan tagadja meg a nem integrál értékek elfogadását helyzeti argumentumként. Itt csak egy egész értéket lehet beküldeni.

elemző.add_argument ('bld', type = int,
help = "egész számra van szükség")

Opcionális pozíció argumentum egy adott típusban

A következő parancssor megegyezik a fentivel, azzal a különbséggel, hogy opcionálisá teszi a pozíció argumentumot a nargs paraméterrel; így a felhasználó elhagyhatja a program futtatásakor. Ha azonban az argumentumot megadták, akkor a helyes adattípusnak kell lennie, különben nem folytatja a szokásos módon az elemzést.

elemző.add_argument ('bld', type = int, nargs = '?",
help = 'Ez a mező választható egész számra szolgál')

Opcionális argumentum egy adott típusban

Az argumentum és a pozicionális argumentum közötti különbséget a pozicionális argumentum között nem kell megemlíteni, míg az argumentumot a program futtatásakor az értékével együtt jelzőként kell megemlíteni. A következő parancssor pontosan ugyanazokat a szövegeket tartalmazza, kivéve a vezető kettős sorokat (kötőjeleket). Jelölik, hogy az argumentum egy argumentum / jelző, amelyet meg kell említeni az adott típusú értékkel együtt a program futtatásakor. Az argumentum használatának kötelezővé tétele kötelező = Igaz paraméter használható az add_argument () függvényben, mint másik argumentum. Mint fent említettük, a formátum be nem tartása hibát okoz.

Rövid érvek használata

A rövid érvek ugyanúgy működnek, mint a hosszabb társaik. Az egyetlen különbség az, hogy segít megtakarítani a helyet, ha nagy mennyiségű parancssort használ, vagy amikor a fejlesztő rendben akarja tartani a parancsokat és a lehető legnagyobb mértékben rendezett. A következő példában azt ábrázolja, hogy a program miként reagál mindkét argumentumra. A rövid argumentumok használatakor ügyeljen arra, hogy csak egyetlen kötőjelet használjon, mivel ez a szabvány az iparban.

Feltételes érvek

A feltételes argumentumokat nagyon egyszerű argumentumként használni a korábbi példákban. Az egyetlen különbség ebben a szegmensben a cselekvési paraméter megadása. Két értéket fogad el, store_true, és store_false. Ha a műveletparaméterként store_true van megadva, akkor amikor a programban a flag argumentumot használjuk, azt igaz logikai értékkel rendeljük hozzá; ezért feltételes érvként használható. A feltételes argumentumok alkalmazásával a végrehajtás logikai folyamatát kell létrehozni a felhasználói bemenetek alapján. Tehát a felhasználó eldönti, hogy melyik utat akarja megtenni, és hogyan folyik a program. Az elemzett parancsok a névtér objektumon belül találhatók, ezért adja vissza a névtér () kulcsszót a program végrehajtása után.

elemző.add_argument ('- bld', action = 'store_true',
help = 'feltételes argumentum')

A program nevének megadása

Az összes példa nem adja meg a program nevét. Ehelyett csak a szkriptfájl nevét adja meg az elfogadott argumentumok listájával együtt. A programnév használatának előnye, hogy felhasználóbarátabbá és függetlenebbé teszi a programot a szkript nevétől. Ez nagyon hasznos, ha több szkriptfájl is részt vesz a végrehajtásban. Tehát nem fogja összetéveszteni a felhasználót kétértelmű nevekkel.

A megvalósításhoz a következő két parancssort kell használni. Az első sorban a program nevét adja meg a prog paraméterrel, míg ez a bizonyos paraméter változóként használható, ahol a program nevét használják, majd a program végrehajtásakor a prog paraméter helyébe az argumentParser ( ) függvény a prog paraméterrel együtt, ebben a példában „Nucuta App” -ot jelent. Fontos továbbá használni a parancsot as néven % (prog) s különben az elemzés nem lesz sikeres.

parser = argparse.ArgumentParser (prog = 'Nucuta App')
elemző.add_argument ('- bld', help = 'Ez% (prog) s it')

A feltételek ellenőrzése és a végrehajtás folyamatának ellenőrzése

A végrehajtási folyamat IF ELSE záradékokkal van meghatározva. Ezek a záradékok vezérlik a végrehajtási folyamatot a feltételtől és annak jellegétől függően. A következő példában a beírt egész számot egy bld változóhoz rendeljük, amely arg objektumban van. Ezután egy előre meghatározott értékkel ellenőrizzük annak állapotát. Ebben a példában, ha a beírt érték nagyobb, mint 10, akkor az első utasítás végrehajtásra kerül, ha a beírt érték 10-gyel egyenlő, akkor a második utasítás kerül végrehajtásra, ha a beírt érték 10-nél kisebb, az utolsó utasítás végrehajtásra kerül. Hasonlóképpen, a végrehajtási folyamat könnyedén irányítható. Amint a példa ábrázolja, az argumentumok a parse_args () függvény által visszaadott objektumon keresztül érhetők el - arg.

KÖVETKEZTETÉS

Ezzel az útmutatóval készen áll a Python összes parancssorának elemzésére.  Sok szerencsét

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...