7 способов передать путь ввода через аргументы командной строки в разных языках программирования

Аргументы командной строки — это мощный способ передачи информации программе при ее выполнении из командной строки. Одним из распространенных случаев использования является передача входного пути, который указывает расположение файла или каталога, который программа должна обработать. В этой статье мы рассмотрим несколько методов передачи пути ввода через аргументы командной строки на разных языках программирования, сопровождаемые примерами кода.

  1. Python:

    import sys
    # Method 1: Accessing arguments directly
    input_path = sys.argv[1]
    print("Input Path:", input_path)
    # Method 2: Using argparse module
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("input_path", help="Path to the input file")
    args = parser.parse_args()
    print("Input Path:", args.input_path)
  2. Java:

    public class Main {
    public static void main(String[] args) {
        // Method 1: Accessing arguments directly
        String inputPath = args[0];
        System.out.println("Input Path: " + inputPath);
        // Method 2: Using Apache Commons CLI library
        CommandLineParser parser = new DefaultParser();
        Options options = new Options();
        options.addOption("i", "inputPath", true, "Path to the input file");
        CommandLine cmd;
        try {
            cmd = parser.parse(options, args);
            String inputPathOption = cmd.getOptionValue("inputPath");
            System.out.println("Input Path: " + inputPathOption);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
    }
  3. C++:

    #include <iostream>
    int main(int argc, char* argv[]) {
    // Method 1: Accessing arguments directly
    std::string inputPath = argv[1];
    std::cout << "Input Path: " << inputPath << std::endl;
    // Method 2: Using getopt library
    int option;
    while ((option = getopt(argc, argv, "i:")) != -1) {
        if (option == 'i') {
            std::string inputPathOption = optarg;
            std::cout << "Input Path: " << inputPathOption << std::endl;
        }
    }
    return 0;
    }
  4. JavaScript (Node.js):

    // Method 1: Accessing arguments directly
    const inputPath = process.argv[2];
    console.log("Input Path:", inputPath);
    // Method 2: Using commander.js library
    const { program } = require('commander');
    program.option('-i, --inputPath <path>', 'Path to the input file');
    program.parse(process.argv);
    console.log("Input Path:", program.inputPath);
  5. Рубин:

    # Method 1: Accessing arguments directly
    input_path = ARGV[0]
    puts "Input Path: #{input_path}"
    # Method 2: Using OptionParser library
    require 'optparse'
    options = {}
    OptionParser.new do |opts|
    opts.on('-i', '--inputPath PATH', 'Path to the input file') do |path|
    options[:input_path] = path
    end
    end.parse!
    puts "Input Path: #{options[:input_path]}"
  6. Давай:

    package main
    import (
    "flag"
    "fmt"
    )
    func main() {
    // Method 1: Accessing arguments directly
    inputPath := flag.Arg(0)
    fmt.Println("Input Path:", inputPath)
    // Method 2: Using flag library
    inputPathOption := flag.String("i", "", "Path to the input file")
    flag.Parse()
    fmt.Println("Input Path:", *inputPathOption)
    }
  7. PHP:

    <?php
    // Method 1: Accessing arguments directly
    $inputPath = $argv[1];
    echo "Input Path: " . $inputPath . "\n";
    // Method 2: Using getopt function
    $options = getopt("i:");
    $inputPathOption = $options['i'];
    echo "Input Path: " . $inputPathOption . "\n";
    ?>

В этой статье мы рассмотрели семь различных методов передачи пути ввода через аргументы командной строки на различных языках программирования. Эти методы обеспечивают гибкость и удобство при решении задач обработки файлов или каталогов. Используя аргументы командной строки, вы можете повысить функциональность и удобство использования ваших программ на разных платформах и в разных средах.

Не забудьте выбрать метод, который лучше всего соответствует вашему языку программирования и требованиям проекта. Поэкспериментируйте с предоставленными примерами кода и адаптируйте их к своим конкретным случаям использования, чтобы эффективно обрабатывать пути ввода через аргументы командной строки.