Parancssori argumentum elemzése a használatával sys modul
A parancssori argumentumok a listában tárolhatók a használatával sys modul. sys.argv a parancssori argumentumok értékeinek olvasására szolgál. A parancssori argumentumok számát a segítségével lehet megszámolni len () funkció. Ennek a modulnak a használatát a cikk részben ismertetjük.
1. példa: Az argumentumok és argumentumértékek leolvasása
Hozzon létre egy fájlt a következő python -szkripttel. Itt a parancssori argumentumok értékei a változóban tárolódnak, argv mint más nyelvek. len () metódus megszámolja a szkript végrehajtásakor átadott összes argumentum számát. Az argumentumértékek tömbként kerülnek nyomtatásra a szkript végén.
# Importálja a sys modult
import sys
# Nyomtassa ki az összes argumentumot
nyomtatás('Összes érv:', len(sys.argv))
nyomtatás('Az argumentum értékei:', o(sys.argv))
Kimenet:
A fenti szkript itt négy parancssori argumentum használatával kerül végrehajtásra. Az első érv a szkript neve, a többi pedig számérték. A szkript futtatása után a következő kimenet jelenik meg.
2. példa: Az argumentumértékek beolvasása a ciklus segítségével
Az előző példában az argumentumértékeket tömbként nyomtatják ki. Hozzon létre egy fájlt az alábbi parancsfájllal az argumentumváltozó típusának kinyomtatásához, és minden argumentum értékét minden sorban a ciklus használatával.
# Importálja a sys modultimport sys
# Nyomtassa ki a sys.argv változó típusát
nyomtatás(típus(sys.argv))
# Nyomtassa ki minden parancssori argumentumot minden sorban
nyomtatás('A parancssori érvek a következők:')
számáraénban ben sys.argv:
nyomtatás(én)
Kimenet:
A fenti szkript három argumentum megadásával kerül végrehajtásra a szkript nevével. A szkript futtatása után a következő kimenet jelenik meg.
Parancssori argumentum elemzése a getopt modul használatával
Felül modul a parancssori argumentumok elemzésére szolgál az opciókkal. tetején () ennek a modulnak a módszere az argumentumok olvasására szolgál. Ennek a módszernek három érve van. Az első két érv kötelező, az utolsó pedig nem kötelező. Ezen érvek felhasználását az alábbiakban ismertetjük.
args: A parancssori argumentumból vett argumentumot tartalmazza.
short_option: Bármilyen betű lehet, amely az érvvel együtt jár.
long_option: Két részből álló hosszú opciók meghatározására szolgál. Ezek az opció neve és az opció értéke.
Szintaxis: getopt.getopt (args, short_option, [long_option])
3. példa: Az argumentumértékek leolvasása a rövid getopt beállítások használatával
tetején modul több funkciót tartalmaz, mint sys modul. A következő példa bemutatja, hogyan használhatók a rövid opciók tetején () módszer. argv változó tárolja a parancssori argumentumokat a szkript nevének elhagyásával. Ezután két lehetőséget definiálunk a tetején () metódus, amely futás közben használható az argumentummal. Ha bármilyen hiba történik, hibaüzenet jelenik meg.
# Importálja a getopt modultimport tetején
# Importálja a sys modult
import sys
# Tárolja az argumentumváltozót, kihagyva a szkript nevét
argv= sys.argv[1:]
próbáld ki:
# Határozza meg a getopt rövid lehetőségeket
lehetőségek,args= tetején.tetején(argv, 'x: y:')
# nyomtassa ki a beállításokat és az argumentumot
nyomtatás(lehetőségek)
nyomtatás(args)
kivéve tetején.GetoptError:
# Nyomtassa ki a hibaüzenetet, ha rossz lehetőség van megadva
nyomtatás('Rossz lehetőség van megadva')
# Szüntesse meg a szkriptet
sys.kijárat(2)
Kimenet:
Futtassa a szkriptet minden érv nélkül, a helyes opciókkal rendelkező érveket és a rossz opcióval rendelkező argumentumokat.
4. példa: Az argumentumértékek leolvasása rövid és hosszú getopt beállítások használatával
Ez a példa bemutatja, hogy a rövid és a hosszú beállítások hogyan használhatók az argumentumértékekkel. Két számot ad hozzá, amikor '-nak nek' vagy ‘–Add’ opcióként fogják használni, és kivonni két számot, ha -s ’ vagy ' -alatti' opcióként fogják használni a futási időben.
# Importálja a getopt modultimport tetején
# Importálja a sys modult
import sys
# Tárolja az argumentumváltozót, kihagyva a szkript nevét
argv= sys.argv[1:]
# Inicializálja az eredményváltozót
eredmény=0
próbáld ki:
# Határozza meg a rövid és hosszú lehetőségek kiválasztását
lehetőségek,args= tetején.tetején(sys.argv[1:], 'mint', ['add =','sub ='])
# Olvassa el az összes opciót a hurok használatával
számáradönt,mérgesban benlehetőségek:
# Számítsa ki az összeget, ha az opció -a vagy --add
hadöntban ben ('-nak nek', '--add'):
eredmény= int(argv[1])+int(argv[2])
# Számítsa ki a suntrakciót, ha az opció -s vagy --sub
elifdöntban ben ('-s', '--alatti'):
eredmény= int(argv[1])-int(argv[2])
nyomtatás('Eredmény =',eredmény)
kivéve tetején.GetoptError:
# Nyomtassa ki a hibaüzenetet, ha rossz lehetőség van megadva
nyomtatás('Rossz lehetőség van megadva')
# Szüntesse meg a szkriptet
sys.kijárat(2)
Kimenet:
Futtassa a szkriptet minden érv és opció nélkül, az „-a” opcióval rendelkező argumentumokat, az „-s” opcióval rendelkező argumentumokat és a rossz opcióval rendelkező argumentumokat.
Parancssori argumentum elemzése argparse modul használatával
Az Argparse modul számos lehetőséget tartalmaz a parancssori argumentumok olvasására. Ez a modul megadhatja az alapértelmezett argumentumértékeket, az adattípussal rendelkező argumentumot, a pozícióbeli érveket, a súgóüzenetet stb.
5. példa: Parancssori argumentumok olvasása argparse használatával
A következő példa a használatát mutatja be argparse modul a parancssori argumentum olvasására. Itt két lehetőség van definiálva a parancssori argumentumok olvasásához. Ezek „-N” vagy „–név” és „-E” vagy „–email”. Ha a felhasználó hibás érveket ad meg, akkor hibaüzenetet jelenít meg egy használati üzenettel. Ha a felhasználó helyes beállításokat ad meg az argumentumokkal, akkor megjeleníti az argumentumértékeket. ha a felhasználó a „–help” opcióval futtatja a szkriptet, akkor megadja a szkript futtatásához szükséges üzenetet.
# Importálja az argparse modultimportargparse
# Importálja a sys modult
import sys
# Declare függvény a parancssori argumentumok meghatározásához
defreadOptions(args=sys.argv[1:]):
elemző =argparse.ArgumentParser(leírás='Az elemzési parancsok listája.')
elemző.add_argument('-n', '--név', Segítség='Írja be a nevét.')
elemző.add_argument('-És', '--email', Segítség='Írja be az e -mail címét.')
választ= elemző.parse_args(args)
Visszatérésválaszt
# Hívja meg a függvényt az argumentumértékek leolvasásához
lehetőségek=readOptions(sys.argv[1:])
nyomtatás(lehetőségek.név)
nyomtatás(lehetőségek.email)
Kimenet:
Futtassa a szkriptet rossz beállítással, helyes opcióval és súgóval.
Következtetés:
Ebben az oktatóanyagban a parancssori argumentumok olvasásának különböző módjait ismertetjük három python modul használatával. Remélem, ez az oktatóanyag segíteni fog a kódolónak, aki a python parancssori argumentumaival akar adatokat olvasni.
Tekintse meg a szerző videóját: itt