Programozás

A parancssori argumentumok elemzésének alapjai a Pythonban

A parancssori argumentumok elemzésének alapjai a Pythonban

A parancssori alkalmazások az egyik legrégebbi és leggyakrabban használt alkalmazástípusok. Ha Ön tapasztalt Linux-felhasználó, akkor valószínűleg alig használt GUI-eszközöket parancssori eszközök helyett ugyanazon feladat végrehajtásához. Például az Anaconda, a python csomagkezelője rendelkezik Conda nevű parancssori eszközökkel és anaconda navigátor nevű GUI eszközzel.

A parancssori alkalmazást népszerűvé teszi a fejlesztők körében az, hogy nagyon kevés erőforrást fogyasztanak a GUI megfelelőjéhez képest és jobb teljesítményt nyújtanak.

A Python egy egyszerű és hatékony nyelv a parancssori alkalmazások felépítéséhez. Rengeteg könyvtárat kínál, amelyeket már sok nagy programozó írt, megkönnyítve a feladatunkat, mivel nem kell ugyanazt a kódot átírnunk.

Ebben az oktatóanyagban bemutatom Önnek a python Argparse könyvtárát, amely elemezheti a parancssori alkalmazások argumentumait. Ez hasznos nagyszerű parancssori interfészek felépítéséhez. Az oktatóanyag követéséhez ajánlott a python legújabb verziójának telepítése. Van egy lépésenkénti bemutatónk is a python frissítéséről a Linux legújabb verziójára.

Bevezetés

Az argumentumelemzés egy fontos fogalom, amelyet erőteljes és felhasználóbarát parancssori interfészek felépítéséhez kell használnunk. Ha korábban már használt parancssori alkalmazásokat, akkor észrevehette, hogy argumentumokat adhatunk a parancssori alkalmazásokhoz az eszköz beállításainak konfigurálásához.

Például, ha a ls parancs a Linux alatt, amely az aktuális munkakönyv-elemek felsorolására szolgál, előfordulhat, hogy valami hasonló kimenetet látott, amint az az alábbi képen látható.

ls parancs Linux alatt

Amint a képen látható, az aktuális könyvtárban található elemeket sorolja fel. Használhatjuk a ls parancsoljon előnyösebben azzal, hogy argumentumot ad neki, mint a következő parancsban tettem.

ls -a

Amikor ezt a parancsot beírja a terminálba, felsorolja az aktuális munkakönyvtárban található összes elemet, beleértve a rejtett elemeket is. Mint látható, a parancs argumentumainak megadásával barátságosan megadhatjuk a parancs opcióit. Itt játszanak szerepet az érvek. Hasznosabbá és barátságosabbá teszik a parancssori alkalmazásokat.

Kíváncsi lehet, mikor és hogyan kell parancssori argumentumokat hozzáadni az alkalmazásokhoz. Képzelje el, hogy olyan alkalmazást épít, amelynek felhasználói bevitele szükséges az alkalmazás által feldolgozandó fájlnévhez.

Kétféleképpen tehetjük meg:

Az első trükk jó, de a második hasznosabb, mivel a felhasználó minden parancsot megadhat egy parancsban, ami felhasználóbarátabbá teszi.

A Python tartalmaz egy nagyszerű, „argparse” nevű könyvtárat, amely hasznos a parancssori argumentumok létrehozásához és elemzéséhez, és nagyon egyszerűen képes hatékony parancssori felületeket építeni a felhasználók számára. Vessünk egy mély merülést a python argparse könyvtárába.

Argparse könyvtár

A argparse A library egy egyszerű és hasznos módszer az argumentumok elemzésére, miközben parancssori alkalmazásokat építenek a pythonban. Bár vannak más érvek is, amelyek a következő könyvtárakat elemzik: optparse, getopt, stb., a argparse A könyvtár hivatalosan az ajánlott módszer a parancssori argumentumok elemzéséhez.

A python szabványos könyvtárában is elérhető, így nincs szükségünk kézi konfigurálásra. A argparse könyvtárat a optparse könyvtár python, de argparse hasznosabb és fejlesztőbarátabb, mint a optparse könyvtár.

Az Argparse gyakorlati bemutatója

Nézzünk meg egy gyakorlati bemutatót arról, hogyan használhatjuk az argparse könyvtárat egy egyszerű parancssori felület létrehozásához. Ez a program elfogadja az elérési utat, és ellenőrzi, hogy létezik-e vagy sem, és ha létezik, akkor kinyomtatja, hogy fájl vagy könyvtár-e.

import os import argparse elemző = argparse.ArgumentParser ('description = "Path Existence Checker") elemző.add_argument ("- elérési út", help = "adjon meg egy elérési utat, hogy ellenőrizze, létezik-e") args = értelmező.parse_args () input_path = args.útvonal, ha os.pálya.isdir (input_path): print ("Az elérési út létezik, és ez egy könyvtár") elif os.pálya.isfile (input_path): print ("Az elérési út létezik, és ez egy fájl") else: print ("Az elérési út nem létezik")
A fenti program futtatásakor ellenőrizhetjük, hogy létezik-e az elérési út.

Az argumentumok argparszel történő elemzésének bemutatója

Használhatja a -h argumentum a programmal, amely az alapértelmezett argumentum a súgóüzenetek megjelenítéséhez.

argparse alapértelmezett súgóüzenet

Hadd magyarázzam el, hogyan működik a fenti program. Az első két sorba importáltuk azokat a modulokat, amelyekre a programban szükségünk lesz. A os a modul importálva lett, hogy ellenőrizze, hogy létezik-e az elérési út, vagy sem, hogy ez egy fájl vagy könyvtár. Ha többet szeretne megtudni a os modul, akkor tekintse meg útmutatónkat az os használatáról a pythonban.A következő sorban importáltuk az argumentumok létrehozásához és elemzéséhez szükséges argparse könyvtárat. A harmadik sorban létrehozunk egy elemző objektumot az argparse könyvtár ArgumentParser osztályának felhasználásával. Ez az osztály egy opcionális paraméterleírást is elfogad, amely a súgó üzenetben jelenik meg.A következő sorban létrehoztunk egy útvonal nevű argumentumot az elemző objektum add_argument () metódusával, és megadjuk a részleteket a súgóparaméterben, amely a súgóüzenetben jelenik meg, amint azt a kimenetben korábban láttuk.Ezután elemezzük az argumentumokat az elemző objektum parse_args () metódusával, és argumentumként hozzáférünk a felhasználói beviteli útvonalhoz. Megkaptuk azt az elérési utat, amelyet a felhasználó bevitt az argumentumba, majd az os modullal ellenőriztük, hogy fájl vagy mappa-e. Ha nincs a kettő között, akkor kinyomtatja, hogy az elérési út nem létezik.

Testreszabás

Nézzük meg azokat a testreszabási lehetőségeket, amelyeket a parancssori felületünkön az argparse könyvtár segítségével elvégezhetünk.

Egyéni használat súgó

Amikor futtatjuk a demó programot, amelyet korábban a -h paraméterként a program segítségét kapjuk, mint azt a kimenetet, amelyet az argparse könyvtár generált. Ha észreveszi a súgóüzenetet, a legfelső sorban található egy használati súgó, amely megmutatja, hogyan kell használni.Bemutató programunkban megkaptuk a szokásos használati segítséget. Még mindig könnyen testre szabhatjuk a használati paraméter használatával, miközben az elemző objektumot az ArgumentParser () osztály segítségével hozzuk létre. Nézze meg az alábbi kódot, amelyet módosítani kell a bemutató programunkban.
parser = argparse.ArgumentParser (description = "Path Existence Checker", use = "cla.py útvonal ")
Itt van a kimenet:

egyéni használat segítség az argparse-ban

Amint azt a kimeneten láthatjuk, a használati segítség megváltozott az ArgumentParser () osztály használati paraméterben megadott segítségre.

Az érvek testreszabása

Használhatjuk az Argparse könyvtárat is az argumentumok testreszabására, például arra, hogy az érvek szükségesek-e vagy sem, ezáltal az argumentum alapértelmezett értéket ad.

Alapértelmezett érték hozzáadása

Az argumentumoknak megadhatunk alapértelmezett értéket az alapértelmezett paraméter használatával add_argument () módszer. Lásd például az alábbi kódot.

import os import argparse elemző = argparse.ArgumentParser (description = "Path Existence Checker", use = "cla.py path ") elemző.add_argument ("- elérési út", help = "adjon meg egy elérési utat annak ellenőrzéséhez, hogy létezik-e", default = "fájlnév.txt ") args = értelmező.parse_args () input_path = args.elérési út, ha input_path == Nincs: exit () elif os.pálya.isdir (input_path): print ("Az útvonal létezik, és ez egy könyvtár") elif os.pálya.isfile (input_path): print ("Az elérési út létezik, és ez egy fájl") else: print ("Az elérési út nem létezik")

A fenti program argumentum nélküli futtatásakor megkapjuk az alábbi kimenetet. Amint a kimenet mutatja, a program ellenőrzi az elérési utat fájl név.txt, amelyet az alapértelmezett paraméterben állítottunk be.

alapértelmezett értéket adva az argumentumoknak

Az érvek követelményeinek meghatározása

Használhatjuk az Argparse könyvtárat is az argumentum követelményeinek meghatározásához, azaz.e., szükség lesz-e az érvekre vagy sem. Ehhez a szükséges paramétert kell használnunk, amint az az alábbi kódban látható.

import os import argparse elemző = argparse.ArgumentParser (description = "Path Existence Checker", use = "cla.py path ") elemző.add_argument ("- elérési út", help = "adjon meg egy elérési utat annak ellenőrzéséhez, hogy létezik-e, alapértelmezett =" fájlnév.txt ", kötelező = Igaz) args = értelmező.parse_args () input_path = args.elérési út, ha input_path == Nincs: exit () elif os.pálya.isdir (input_path): print ("Az elérési út létezik, és ez egy könyvtár") elif os.pálya.isfile (input_path): print ("Az elérési út létezik, és ez egy fájl") else: print ("Az elérési út nem létezik")

A fenti kód argumentumok nélküli futtatásakor hibaüzenetet kap, amely szerint a következő argumentumok szükségesek.

az érvek követelményeinek meghatározása

Az érv típusa

Beállíthatjuk az argumentumban használt adattípust is. Például, ha szükségünk van az útvonalra, meg kell adnunk egy string adattípust. Ha a felhasználó olyan adattípust ad meg, amely nem karakterlánc, akkor az Argparser karakterlánccá változtatja. Az argumentum alapértelmezett típusának beállításához futtassa az alábbi kódot.

import os import argparse elemző = argparse.ArgumentParser (description = "Path Existence Checker", use = "cla.py path ") elemző.add_argument ("- elérési út", help = "adjon meg egy elérési utat annak ellenőrzéséhez, hogy létezik-e, írja be = str) args = elemző.parse_args () input_path = args.elérési út, ha input_path == Nincs: exit () elif os.pálya.isdir (input_path): print ("Az elérési út létezik, és ez egy könyvtár") elif os.pálya.isfile (input_path): print ("Az elérési út létezik, és ez egy fájl") else: print ("Az elérési út nem létezik")

Kimenet:

megadva az argumentumok adattípusát

Következtetés

Ez csak az argumentumok elemzésének alapja az Argparse könyvtár segítségével. Az oktatóanyag áttekintése után javasoljuk, hogy olvassa el a hivatalos dokumentációt, hogy megismerje a könyvtár használatának további trükkjeit. Érdemes megnéznie a bejegyzést a Python naplózásának használatáról is, ami nagyon hasznos nagy alkalmazások írásához és az egyszerű hibakereséshez.

Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...