Search
Hodně užitečných nástrojů pro uživatele počítačů má formu příkazů/skriptů spouštěných z příkazové řádky (ls, dir, grep, …). Tyto příkazy obvykle přijímají argumenty uvedené na příkazové řádce za příkazem (např. ls -la), které ovlivňují chování příkazu. Python obsahuje standardní modul argparse (tutorial), který umožňuje snadno konfigurovat možné parametry skriptu a následně je snadno zpracovat.
ls
dir
grep
ls -la
Skript, který máte vytvořit, se má chovat podle specifikací. To lze zajistit např. tak, že modul argparse nakonfigurujete následujícím způsobem:
argparse
import argparse def setup_arg_parser(): parser = argparse.ArgumentParser(description='Learn and classify image data.') parser.add_argument('train_path', type=str, help='path to the training data directory') parser.add_argument('test_path', type=str, help='path to the testing data directory') mutex_group = parser.add_mutually_exclusive_group(required=True) mutex_group.add_argument('-k', type=int, help='run k-NN classifier (if k is 0 the code may decide about proper K by itself') mutex_group.add_argument("-b", help="run Naive Bayes classifier", action="store_true") parser.add_argument("-o", metavar='filepath', default='classification.dsv', help="path (including the filename) of the output .dsv file with the results") return parser
Když pak tuto funkci použijete takto:
parser = setup_arg_parser() args = parser.parse_args() print(args.train_path)
proměnná args bude obsahovat všechny potřebné informace předané skriptu na příkazové řádce a můžete s nimi dál pracovat.
args
Výše uvedený kód najdete v souboru classifier.py, který můžete použít jako výchozí kostru vašeho řešení. Pokud tento modul spustíte jako
python3 classifier.py -k 3 ./train_data ./test_data
Training data directory: ./train_data Testing data directory: ./test_data Output file: classification.dsv Running k-NN classifier with k=3