net.sourceforge.argparse4j.inf.ArgumentParser类的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(17.3k)|赞(0)|评价(0)|浏览(142)

本文整理了Java中net.sourceforge.argparse4j.inf.ArgumentParser类的一些代码示例,展示了ArgumentParser类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ArgumentParser类的具体详情如下:
包路径:net.sourceforge.argparse4j.inf.ArgumentParser
类名称:ArgumentParser

ArgumentParser介绍

[英]This interface defines behavior of ArgumentParser.

The typical usage is set description using #description(String) and add arguments using #addArgument(String...). To add sub-command, first call #addSubparsers() to obtain Subparsers object. Subparsers object provides necessary methods to add sub-commands. To make a conceptual group of arguments, first call #addArgumentGroup(String) to create ArgumentGroup object. And add argument to that group using ArgumentGroup#addArgument(String...). Similarly, to add the mutually exclusive group of arguments, use #addMutuallyExclusiveGroup(String) to create MutuallyExclusiveGroup object. To parse command-line arguments, call #parseArgs(String[]) or several overloaded methods.
[中]此接口定义ArgumentParser的行为。
典型用法是使用#description(字符串)设置description,并使用#addArgument(字符串…)添加参数。要添加sub命令,首先调用#addSubparsers()以获取Subparsers对象。Subparsers对象提供了添加sub命令的必要方法。要创建参数的概念组,首先调用#addArgumentGroup(String)来创建ArgumentGroup对象。并使用ArgumentGroup#addArgument(字符串…)将参数添加到该组。类似地,要添加互斥的参数组,请使用#addMutuallyExclusiveGroup(字符串)创建MutuallyExclusiveGroup对象。要解析命令行参数,请调用#parseArgs(String[])或几个重载方法。

代码示例

代码示例来源:origin: SeldonIO/seldon-server

public static void main(String[] args) throws Exception {
    
    ArgumentParser parser = ArgumentParsers.newArgumentParser("PredictionsToInfluxDb")
        .defaultHelp(true)
        .description("Read Seldon predictions and send stats to influx db");
    parser.addArgument("-t", "--topic").setDefault("Predictions").help("Kafka topic to read from");
    parser.addArgument("-k", "--kafka").setDefault("localhost:9092").help("Kafka server and port");
    parser.addArgument("-z", "--zookeeper").setDefault("localhost:2181").help("Zookeeper server and port");
    parser.addArgument("-i", "--influxdb").setDefault("localhost:8086").help("Influxdb server and port");
    parser.addArgument("-u", "--influx-user").setDefault("root").help("Influxdb user");
    parser.addArgument("-p", "--influx-password").setDefault("root").help("Influxdb password");
    parser.addArgument("-d", "--influx-database").setDefault("seldon").help("Influxdb database");
    parser.addArgument("--influx-measurement").setDefault("predictions").help("Influxdb Predictions measurement");
    
    Namespace ns = null;
    try {
      ns = parser.parseArgs(args);
      PredictionsToInfluxDb.process(ns);
    } catch (ArgumentParserException e) {
      parser.handleError(e);
      System.exit(1);
    }
  }
}

代码示例来源:origin: spotify/helios

.defaultHelp(true)
  .version(format("%s%nTested on Docker %s", NAME_AND_VERSION, TESTED_DOCKER_VERSION))
  .description(format("%s%n%n%s%n%s", NAME_AND_VERSION, HELP_ISSUES, HELP_WIKI));
commandParsers = parser.addSubparsers()
  .metavar("COMMAND")
  .title("commands");
 parser.printHelp();
 throw new ArgumentParserException(parser);
 this.options = parser.parseArgs(args);
} catch (ArgumentParserException e) {
 handleError(parser, e);

代码示例来源:origin: atomix/atomix

/**
 * Parses the command line arguments, returning an argparse4j namespace.
 *
 * @param args the arguments to parse
 * @return the namespace
 */
static Namespace parseArgs(String[] args, List<String> unknown) {
 ArgumentParser parser = createParser();
 Namespace namespace = null;
 try {
  namespace = parser.parseKnownArgs(args, unknown);
 } catch (ArgumentParserException e) {
  parser.handleError(e);
  System.exit(1);
 }
 return namespace;
}

代码示例来源:origin: dropwizard/dropwizard

try {
  if (isFlag(HELP, arguments)) {
    parser.printHelp(stdOut);
  } else if (isFlag(VERSION, arguments)) {
    parser.printVersion(stdOut);
  } else {
    final Namespace namespace = parser.parseArgs(arguments);
    final Command command = requireNonNull(commands.get(namespace.getString(COMMAND_NAME_ATTR)),
      "Command is not found");
} catch (ArgumentParserException e) {
  stdErr.println(e.getMessage());
  e.getParser().printHelp(stdErr);
  return false;

代码示例来源:origin: omkreddy/kafka-examples

public static void main(String[] args) throws InterruptedException {
  ArgumentParser parser = argParser();
  try {
    Namespace result = parser.parseArgs(args);
    List<String> topics = Arrays.asList(result.getString("topics").split(","));
    Properties configs = getConsumerConfigs(result);
    final BasicConsumeLoop<Serializable, Serializable> consumer = new BasicConsumeLoop<>(configs, topics);
    consumer.run();
    
    Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
      
      @Override
      public void run() {
        consumer.close();
      }
    }));
    
  } catch (ArgumentParserException e) {
    if(args.length == 0)
      parser.printHelp();
    else 
      parser.handleError(e);
    System.exit(0);
  }
}

代码示例来源:origin: GoogleCloudPlatform/java-docs-samples

public static void main(String... args) throws Exception {
  ArgumentParser parser = ArgumentParsers.newFor("SynthesizeFile").build()
    .defaultHelp(true)
    .description("Synthesize a text file or ssml file.");
  MutuallyExclusiveGroup group = parser.addMutuallyExclusiveGroup().required(true);
  group.addArgument("--text").help("The text file from which to synthesize speech.");
  group.addArgument("--ssml").help("The ssml file from which to synthesize speech.");

  try {
   Namespace namespace = parser.parseArgs(args);

   if (namespace.get("text") != null) {
    synthesizeTextFile(namespace.getString("text"));
   } else {
    synthesizeSsmlFile(namespace.getString("ssml"));
   }
  } catch (ArgumentParserException e) {
   parser.handleError(e);
  }
 }
}

代码示例来源:origin: lenskit/lenskit

public void configureArguments(ArgumentParser parser) {
  parser.description("Trains a recommendation model and write it to disk.");
  ScriptEnvironment.configureArguments(parser);
  InputData.configureArguments(parser);
  parser.addArgument("-o", "--output-file")
     .type(File.class)
     .metavar("FILE")
     .setDefault("model.bin")
     .help("write trained model to FILE");
  parser.addArgument("config")
     .type(File.class)
     .nargs("+")
     .metavar("CONFIG")
     .help("load algorithm configuration from CONFIG");
}

代码示例来源:origin: atomix/atomix

.defaultHelp(true)
  .description("Runs the Atomix agent with the given arguments. Arbitrary configuration options may be overridden "
    + "by specifying the option path and value as an optional argument, e.g. --cluster.node.id node-1");
parser.addArgument("--member", "-m")
  .type(String.class)
  .nargs("?")
  .required(false)
  .help("The local member identifier, used in intra-cluster communication.");
parser.addArgument("--address", "-a")
  .type(addressArgumentType)
  .metavar("HOST:PORT")
  .required(false)
  .help("The address for the local member. If no address is specified, the first public interface will be used.");
parser.addArgument("--host")
  .type(String.class)
  .nargs("?")
  .required(false)
  .help("The host on which this member runs, used for host-aware partition management.");
parser.addArgument("--rack")
  .type(String.class)
  .nargs("?")
  .required(false)
  .help("The rack on which this member runs, used for rack-aware partition management.");
parser.addArgument("--zone")
  .type(String.class)
  .nargs("?")
  .required(false)
  .help("The zone in which this member runs, used for zone-aware partition management.");

代码示例来源:origin: AsamK/signal-cli

private static Namespace parseArgs(String[] args) {
  ArgumentParser parser = ArgumentParsers.newFor("signal-cli")
      .build()
      .defaultHelp(true)
      .description("Commandline interface for Signal.")
      .version(BaseConfig.PROJECT_NAME + " " + BaseConfig.PROJECT_VERSION);
  parser.addArgument("-v", "--version")
      .help("Show package version.")
      .action(Arguments.version());
  parser.addArgument("--config")
      .help("Set the path, where to store the config (Default: $XDG_DATA_HOME/signal-cli , $HOME/.local/share/signal-cli).");
  MutuallyExclusiveGroup mut = parser.addMutuallyExclusiveGroup();
  mut.addArgument("-u", "--username")
      .help("Specify your phone number, that will be used for verification.");
  Subparsers subparsers = parser.addSubparsers()
      .title("subcommands")
      .dest("command")
    ns = parser.parseArgs(args);
  } catch (ArgumentParserException e) {
    parser.handleError(e);
    return null;
      parser.printUsage();
      System.err.println("You cannot specify a username (phone number) when linking");
      System.exit(2);

代码示例来源:origin: bazaarvoice/ostrich

private static Namespace parseCommandLine(String[] args) throws ArgumentParserException {
  String usage = "java -jar " + new JarLocation(CalculatorProxyUser.class);
  ArgumentParser argParser = ArgumentParsers.newArgumentParser(usage).defaultHelp(true);
  argParser.addArgument("config-file").nargs("?").help("yaml configuration file");
  return argParser.parseArgs(args);
}

代码示例来源:origin: com.salesforce.dockerfile-image-update/dockerfile-image-update

public static Namespace handleArguments(ArgumentParser parser, String[] args) {
  Namespace ns = null;
  try {
    ns = parser.parseArgs(args);
  } catch (ArgumentParserException e) {
    parser.handleError(e);
  }
  return ns;
}

代码示例来源:origin: SurveyMan/SurveyMan

public static void main(String[] args) throws ArgumentParserException, InvocationTargetException, SurveyException, IllegalAccessException, NoSuchMethodException, IOException {
    try {
      ArgumentParser argumentParser = ArgumentParsers.newArgumentParser(
          CSV2JSON.class.getName(), true, "-").description(
          "Converts SurveyMan csv files to json.");
      argumentParser.addArgument("csv").required(true);
      argumentParser.addArgument("--sep").required(false).setDefault(",");
      argumentParser.addArgument("--encoding").required(false).setDefault("UTF-8");
      Namespace ns = argumentParser.parseArgs(args);
      CSVLexer csvLexer = new CSVLexer((String) ns.get("csv"), (String) ns.get("sep"), (String) ns.get("encoding"));
      CSVParser csvParser = new CSVParser(csvLexer);
      Survey survey = csvParser.parse();
      String json = survey.jsonize();
      BufferedWriter bw = new BufferedWriter(new FileWriter(survey.sourceName + ".json"));
      bw.write(json);
      bw.close();
    } catch (ArgumentParserException ape) {
      System.out.println(ape.getMessage());
      ape.getParser().printHelp();
    }
  }
}

代码示例来源:origin: lenskit/lenskit

public static void main(String[] args) {
  ArgumentParser parser =
      ArgumentParsers.newArgumentParser("lenskit")
              .description("Work with LensKit recommenders and data.");
  Logging.addLoggingGroup(parser);
  Subparsers subparsers = parser.addSubparsers()
                 .metavar("COMMAND")
                 .title("commands");
    Namespace options = parser.parseArgs(args);
    Logging.configureLogging(options);
    Runtime rt = Runtime.getRuntime();
    logger.info("If you use LensKit in published research, please see http://lenskit.org/research/");
  } catch (ArgumentParserException e) {
    parser.handleError(e);
    System.exit(1);
  } catch (LenskitCommandException e) {

代码示例来源:origin: stackoverflow.com

ArgumentParser parser = ArgumentParsers.newArgumentParser("Checksum")
          .defaultHelp(true)
          .description("Calculate checksum of given files.");
      parser.addArgument("-t", "--type")
          .choices("SHA-256", "SHA-512", "SHA1").setDefault("SHA-256")
          .help("Specify hash function to use");
      parser.addArgument("file").nargs("*")
          .help("File to calculate checksum");
Namespace ns = null;
    try {
      ns = parser.parseArgs(args);
    } catch (ArgumentParserException e) {
      parser.handleError(e);
      System.exit(1);
    }

代码示例来源:origin: stackoverflow.com

public static void main(String[] args) throws ArgumentParserException {
  ArgumentParser parser = ArgumentParsers.newArgumentParser("prog");
  parser.addArgument("--foo").action(Arguments.storeTrue());
  parser.addArgument("--bar").action(Arguments.storeFalse());
  parser.addArgument("--baz").action(Arguments.storeFalse());
  System.out.println(parser.parseArgs(args));
}

代码示例来源:origin: apache/phoenix

private static Namespace parseArgs(String[] args) {
  ArgumentParser parser = ArgumentParsers.newFor("Phoenix Canary Test Tool").build()
      .description("Phoenix Canary Test Tool");
  parser.addArgument("--hostname", "-hn").type(String.class).nargs("?").help("Hostname on "
      + "which Phoenix is running.");
  parser.addArgument("--port", "-p").type(String.class).nargs("?").help("Port on " +
      "which Phoenix is running.");
  parser.addArgument("--constring", "-cs").type(String.class).nargs("?").help("Pass an " +
      "explicit connection String to connect to Phoenix. " +
      "default: jdbc:phoenix:thin:serialization=PROTOBUF;url=[hostName:port]");
  parser.addArgument("--timeout", "-t").type(String.class).nargs("?").setDefault("60").help
      ("Maximum time for which the app should run before returning error. default:" + "" +
          " 60 sec");
  parser.addArgument("--testschema", "-ts").type(String.class).nargs("?").setDefault
      (TEST_SCHEMA_NAME).help("Custom name for the test table. " + "default: " +
      TEST_SCHEMA_NAME);
  parser.addArgument("--testtable", "-tt").type(String.class).nargs("?").setDefault
      (TEST_TABLE_NAME).help("Custom name for the test table." + " default: " +
      TEST_TABLE_NAME);
  parser.addArgument("--logsinkclass", "-lsc").type(String.class).nargs("?").setDefault
      ("PhoenixCanaryTool$StdOutSink").help
      ("Path to a Custom implementation for log sink class. default: stdout");
  Namespace res = null;
  try {
    res = parser.parseKnownArgs(args, null);
  } catch (ArgumentParserException e) {
    parser.handleError(e);
  }
  return res;
}

代码示例来源:origin: dropwizard/dropwizard

private void addHelp(ArgumentParser p) {
  p.addArgument("-h", "--help")
    .action(new SafeHelpAction(stdOut))
    .help("show this help message and exit")
    .setDefault(Arguments.SUPPRESS);
}

代码示例来源:origin: dariober/ASCIIGenome

public static Map<Command, ArgumentParser> parser(){
  
  Map<Command, ArgumentParser> argMap= new LinkedHashMap<Command, ArgumentParser>();
  // ----------------------------------
  ArgumentParser parser= ArgumentParsers
      .newArgumentParser("print")
      .defaultHelp(true)
      .version("Print lines for the tracks matched by `track_regex`.")
      .description("Print stuff");
  
  parser.addArgument("--nlines", "-n").help("Print up to this many lines, default 10. No limit if < 0.").type(Integer.class).setDefault(10);
  parser.addArgument("--full", "-full").help("Print full linesa dn wrap them if wider than the screen.").action(Arguments.storeTrue());
  parser.addArgument("--clip", "-clip").help("Clip lines longer than the screen width. This is the default.")
    .action(Arguments.storeTrue());
  parser.addArgument("--off", "-off").help("Turn off printing.").action(Arguments.storeTrue());
  parser.addArgument("--invert", "-v").help("Invert selection: apply changes to the tracks not selected by list of track_regex.").action(Arguments.storeTrue());
  parser.addArgument("track_regex").nargs("*").setDefault( new String[] {".*"} );
  parser.addArgument("--brief").action(Arguments.version());
  // ----------------------------------
  return argMap;
}

代码示例来源:origin: io.github.jiri-meluzin/io.github.jiri-meluzin.tibcobwutils.earcomparer

public static void main(String[] args) {
    ArgumentParser argParser = ArgumentParsers.newArgumentParser("Tibco passwords de/encryptor", true, "-")
        .description("Encrypts or decrypts Tibco password from fullConfigs");
    argParser.addArgument("-action").choices(ENCRYPT, DECRYPT).required(true).help("What to do - encrypt or decrypt. Ex: decrypt");
    argParser.addArgument("-password").type(String.class).required(true).help("Password string to be encrypted or decrypted. Ex: #!St7Uzipt4y6Od6iTLGNtwSUiLk00LuMB");
    
    Namespace res = argParser.parseArgsOrFail(args);
    
    String action = res.getString("action");
    String password = res.getString("password");
    
    switch (action) {
    case ENCRYPT: System.out.println(new PasswordDecrypter().encrypt(password));
      break;
    case DECRYPT: System.out.println(new PasswordDecrypter().decrypt(password));
      break;
    }
    
  }
}

代码示例来源:origin: stanford-futuredata/macrobase

public static void main(String... args) throws IOException {
    ArgumentParser parser = ArgumentParsers.newFor("MacroBase SQL").build()
      .defaultHelp(true)
      .description("Run MacroBase SQL.");
    parser.addArgument("-f", "--file").help("Load file with SQL queries to execute");
    parser.addArgument("-p", "--paging").type(Arguments.booleanType()).setDefault(false)
      .help("Turn on paging of results for SQL queries");
    final Namespace parsedArgs = parser.parseArgsOrFail(args);

    final MacroBaseSQLRepl repl = new MacroBaseSQLRepl(parsedArgs.get("paging"));
    final String asciiArt = Resources
      .toString(Resources.getResource(ASCII_ART_FILE), Charsets.UTF_8);

    boolean printedWelcome = false;
    if (parsedArgs.get("file") != null) {
      System.out.println(asciiArt);
      printedWelcome = true;
      final String queriesFromFile = Files
        .toString(new File((String) parsedArgs.get("file")), Charsets.UTF_8);
      repl.executeQueries(queriesFromFile, true);
    }
    if (!printedWelcome) {
      System.out.println(asciiArt);
    }
    repl.runRepl();
  }
}

相关文章