- 1 1. Mis on argparse? Pythonis põhikasutamine
- 2 2. Miks kasutada argparset? Parim valik CLI-tööriistadele
- 3 3. argparse põhiülesehitus: samm-sammuline ülevaade
- 4 4. Näide: lihtne Python programm argparse’ga
- 5 5. argparse olulised funktsioonid
- 6 6. argparse veakäsitlus ja silumine
- 7 7. argparse praktilised kasutusjuhud
- 8 8. Kokkuvõte
1. Mis on argparse? Pythonis põhikasutamine
Mis on argparse?
argparse
on Python’i standardteek, mis aitab töödelda käsurea argumente. Programmide käivitamisel võimaldab see lihtsalt vastu võtta, analüüsida ja kasutada kasutaja määratud käsurea argumente, muutes programmi käitumist paindlikult. Näiteks saab CLI-tööriistade loomisel lasta kasutajal määrata failide asukoha või seadevalikuid käsurealt, mis muudab tööriista kasutajasõbralikumaks.
import argparse
parser = argparse.ArgumentParser(description="Failitöötlusprogramm")
parser.add_argument("input_file", help="Töödeldava faili tee")
args = parser.parse_args()
print(f"Töödeldav fail on: {args.input_file}")
Selles koodis võetakse kasutajalt käsureal määratud failitee vastu kui input_file
ja kuvatakse see ekraanile. add_argument
määrab argumendi ning parse_args()
analüüsib selle — lihtne töövoog.
2. Miks kasutada argparset? Parim valik CLI-tööriistadele
Mis on CLI-tööriist?
CLI-tööriist (Command Line Interface) on programm, mida juhitakse otse käsurealt — eriti kasulik süsteemihalduseks, andmetöötluseks ja automatiseerimiseks. Pythonis CLI-tööriista loomisel on argparse
väga praktiline: see võimaldab automaatselt vastu võtta ja töödelda argumente ning loob ise veateated ja abisõnumid.
argparse eelised
- Paindlik argumentide määramine: Nõutavad ja valikulised argumendid on lihtsasti seadistatavad, võimaldades teha kasutajasõbralikke programme.
- Automaatne veakäsitlus: Kui argumente on puudu või väärtus on sobimatu, kuvab
argparse
ise asjakohased veateated. - Abisõnumid:
argparse
toetab vaikimisi--help
valikut, mis võimaldab kasutajal kiiresti saada infot kasutamise kohta.
Allpool on näide --help
kasutamisest CLI-tööriista juhendi kuvamiseks.
$ python script.py --help
usage: script.py [-h] input_file
positional arguments:
input_file Töödeldav fail
optional arguments:
-h, --help kuvab selle abisõnumi ja väljub

3. argparse põhiülesehitus: samm-sammuline ülevaade
ArgumentParser’i loomine
Argumentide analüüsimiseks tuleb esmalt luua ArgumentParser
objekt, kuhu saab lisada programmikirjelduse ja kasutusinfo.
parser = argparse.ArgumentParser(description="Failitöötlusprogramm")
Argumentide lisamine
Seejärel lisatakse add_argument()
abil argumendid. Siin saab määrata, kas argument on kohustuslik või valikuline, ning lisada help
parameetri kaudu selgituse.
parser.add_argument("input_file", type=str, help="Palun määrake sisendfail")
parser.add_argument("--verbose", action="store_true", help="Luba detailne väljund")
Argumentide analüüsimine
Viimaks kasutatakse parse_args()
meetodit, et töödelda käsurea argumendid ja salvestada need args
objekti.
args = parser.parse_args()
4. Näide: lihtne Python programm argparse’ga
Põhinäide
Allpool on lihtne näide, kus argparse
abil võetakse vastu failinimi ja valikuline detailne väljund.
import argparse
parser = argparse.ArgumentParser(description="Programm failide töötlemiseks")
parser.add_argument("file", help="Määrake faili tee")
parser.add_argument("--verbose", action="store_true", help="Luba detailne väljund")
args = parser.parse_args()
if args.verbose:
print(f"Faili '{args.file}' töödeldakse detailrežiimis")
else:
print(f"Faili '{args.file}' töödeldakse")
See programm võimaldab --verbose
abil valida, kas kasutada detailset või tavalist väljundit.

5. argparse olulised funktsioonid
Vastastikku välistavad argumendid
Vastastikku välistavad argumendid võimaldavad piirata, et teatud argumendid ei oleks samaaegselt kasutatavad (nt --foo
ja --bar
korraga keelatud).
parser = argparse.ArgumentParser(description="Näide välistavatest argumentidest")
group = parser.add_mutually_exclusive_group()
group.add_argument("--foo", action="store_true", help="Luba foo")
group.add_argument("--bar", action="store_true", help="Luba bar")
args = parser.parse_args()
Alamkäsud
Alamkäskude abil saab programmi jagada mitmeks funktsiooniks (nt install
ja uninstall
ühe programmi sees).
parser = argparse.ArgumentParser(description="Näide alamkäskudest")
subparsers = parser.add_subparsers(dest="command")
install_parser = subparsers.add_parser('install')
install_parser.add_argument('package', help="Paigaldatava paketi nimi")
uninstall_parser = subparsers.add_parser('uninstall')
uninstall_parser.add_argument('package', help="Eemaldatava paketi nimi")
args = parser.parse_args()
if args.command == "install":
print(f"Paigaldan paketi {args.package}")
elif args.command == "uninstall":
print(f"Eemaldan paketi {args.package}")
6. argparse veakäsitlus ja silumine
Automaatne veateade
argparse
kuvab automaatselt veateate, kui mõni nõutav argument puudub või väärtus pole sobiv.
$ python script.py
usage: script.py [-h] --input INPUT
script.py: error: järgmised argumendid on nõutavad: --input
Kohandatud veateade
Mõnikord võib vaikimisi veateatest jääda väheks — kohandatud sõnum võimaldab anda rohkem infot.
parser = argparse.ArgumentParser(description="Näide kohandatud veateatest")
parser.add_argument("--input", required=True, help="Palun määrake sisendfail")
try:
args = parser.parse_args()
except argparse.ArgumentError as err:
print(f"Viga: {err}")

7. argparse praktilised kasutusjuhud
Kasutus automatiseerimistööriistades
argparse
sobib hästi failitöötluse, andmeanalüüsi ja teiste automatiseeritud tööriistade loomiseks — kasutaja saab määrata failiteed ja töörežiimi käsurealt, muutes tööriista paindlikumaks.
$ python data_processor.py --input data.csv --output results.json --verbose
Suurprojektides
Suurte projektide puhul võimaldavad alamkäsud ja välistavad argumendid parandada kogu süsteemi kasutusmugavust. Näiteks saab pakihaldussüsteemis install
ja remove
funktsiooni ühendada ühte tööriista.
$ python package_manager.py install package_name
argparse
lihtsustab kasutajale süsteemiga suhtlemist ja parandab koodi korduvkasutatavust ja hooldatavust.
8. Kokkuvõte
argparse
aitab Pythonis luua paindlikke ja võimsaid käsurealiideseid (CLI). Kohustuslikud ja valikulised argumendid, alamkäsud ning vastastikku välistavad valikud võimaldavad luua kasutajasõbralikke ja hallatavaid programme. See on eriti kasulik suurtes projektides ning automatiseeritud andmetöötluses.
Praktilised näited ja jõudluse parandamise meetodid aitavad programmid veelgi tõhusamaks muuta. Samuti saab hea veakäsitluse ja parimate praktikate rakendamise abil pakkuda kasutajale selgeid juhiseid ja lihtsat veaotsingut.
Kui sul tekkis lisaküsimusi, võta julgelt ühendust!