argparse-perusteet
Jäsennä komentoriviargumentteja
argparse-perusteet on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 4 oppituntia.
Miksi argparse?
argparse-moduuli (vakiokirjastossa) auttaa rakentamaan selkeitä komentorivikäyttöliittymiä. Se jäsentää argumentit, tarkistaa tyypit ja luo ohjetekstin automaattisesti.
import argparse
parser = argparse.ArgumentParser(description='A demo tool')
print(type(parser).__name__)Jäsentimen luominen
Aloittakaa luomalla ArgumentParser. description-arvo näytetään automaattisesti luoduissa ohjeissa.
import argparse
parser = argparse.ArgumentParser(description='Greet a user')
print('parser ready')Sijaintiargumentit
add_argument('name') määrittelee pakollisen sijaintiargumentin. Välitämme tässä luettelon parse_args-funktiolle, jotta se suoritetaan ilman todellista komentoriviä.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args(['Alice'])
print('Hello,', args.name)Valinnaiset argumentit
---merkillä alkavat nimet ovat valinnaisia lippuja. Antakaa default-arvo tilanteeseen, jossa käyttäjä jättää ne pois.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--greeting', default='Hi')
args = parser.parse_args(['--greeting', 'Hey'])
print(args.greeting)
print(parser.parse_args([]).greeting)Tyypitetyt argumentit
Käyttäkää type=int-määritystä (tai esimerkiksi float-määritystä), jotta argparse muuntaa ja tarkistaa arvon. Virheellinen syöte tuottaa selkeän virheilmoituksen.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--count', type=int, default=1)
args = parser.parse_args(['--count', '5'])
print(args.count * 2)Totuusarvoliput
action='store_true' luo lipun, jonka oletusarvo on False ja joka saa arvon True, kun lippu annetaan. Tämä sopii erinomaisesti esimerkiksi --verbose-kytkimiin.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
print(parser.parse_args(['--verbose']).verbose)
print(parser.parse_args([]).verbose)Lyhyet ja pitkät nimet
Antakaa argumentille sekä lyhyt että pitkä muoto, esimerkiksi -n ja --name. Molemmat asettavat saman attribuutin.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='world')
print(parser.parse_args(['-n', 'Sam']).name)Valintavaihtoehdot
Rajoittakaa sallitut arvot choices-parametrilla. argparse hylkää kaikki luettelon ulkopuoliset arvot.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--mode', choices=['fast', 'slow'], default='fast')
print(parser.parse_args(['--mode', 'slow']).mode)Useita arvoja nargs-parametrilla
nargs='+' kerää yhden tai useamman arvon luetteloksi. Tämä sopii hyvin useiden syötteiden vastaanottamiseen kerralla.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('files', nargs='+')
args = parser.parse_args(['a.txt', 'b.txt', 'c.txt'])
print(args.files)Pakolliset valinnaiset argumentit ja ohjeet
Lisätkää required=True, jos haluatte pakottaa valinnaisen lipun käyttöön, ja help=, jos haluatte dokumentoida sen automaattisesti luodulla käyttöohjesivulla.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--id', required=True, type=int, help='record id')
args = parser.parse_args(['--id', '7'])
print('id is', args.id)Täydellinen pieni työkalu
Kun nämä yhdistetään, sijaintiin perustuva syöte, tyypitetty valitsin ja lippu muodostavat pienen mutta todellisen komentorivityökalun.
import argparse
parser = argparse.ArgumentParser(description='Repeat a message')
parser.add_argument('message')
parser.add_argument('--times', type=int, default=1)
parser.add_argument('--shout', action='store_true')
args = parser.parse_args(['hello', '--times', '2', '--shout'])
text = args.message.upper() if args.shout else args.message
for _ in range(args.times):
print(text)Pikatesti
Testatkaa, miten hyvin ymmärrätte argparse-moduulia.
Kertaus
Opitte argparse-moduulin perusteet:
ArgumentParsersekä sijaintiargumentit ja--optional-argumentit.type,default,choicesjarequiredtarkistavat syötteen.action='store_true'sopii lippuihin janargsluetteloihin.- Ohjeteksti luodaan automaattisesti.
Seuraavaksi käsitellään alikomentoja ja monipuolisempaa valitsinten käsittelyä.
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 76
- Oppitunnit
- 320
Usein kysytyt kysymykset
Onko oppitunti ”argparse-perusteet” ilmainen?
Kyllä – oppitunnin ”argparse-perusteet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”argparse-perusteet”?
Jäsennä komentoriviargumentteja Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”argparse-perusteet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?
Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- argparse-perusteet
- Alikomennot ja valitsimet
- Click-kirjasto
- Monipuolinen pääteulostulo