Python Academy · Oppitunti

argparse-perusteet

Jäsennä komentoriviargumentteja

Oppitunti 1/413 vaihetta

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:

  • ArgumentParser sekä sijaintiargumentit ja --optional-argumentit.
  • type, default, choices ja required tarkistavat syötteen.
  • action='store_true' sopii lippuihin ja nargs luetteloihin.
  • Ohjeteksti luodaan automaattisesti.

Seuraavaksi käsitellään alikomentoja ja monipuolisempaa valitsinten käsittelyä.

Aloita maksutta

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

  1. argparse-perusteet
  2. Alikomennot ja valitsimet
  3. Click-kirjasto
  4. Monipuolinen pääteulostulo
← Takaisin: Python Academy