Clap
CLI命令行解析库
一个简单的示例
use clap::{Parser,Subcommand};
#[derive(Parser)]
#[command(name = "ml")]
#[command(about = "Mnist CNN", long_about = None)]
struct Cli {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand)]
enum Commands {
// 两个子命令 train和infer
Train {
// 子命令train的参数
#[arg(short, long, default_value_t = 10)]
epochs: usize,
#[arg(short, long, default_value_t = 0.01)]
learning_rate: f64,
#[arg(short,long,default_value_t = 32)]
batch_size: usize,
},
Infer {
// 子命令infer的参数
#[arg(short, long)]
image_path: String,
#[arg(short,long)]
model_path: String,
},
}