📜  命令行参数(1)

📅  最后修改于: 2023-12-03 15:37:12.048000             🧑  作者: Mango

命令行参数

命令行参数是指在运行程序时,通过在命令行输入的方式向程序传递参数,让程序根据传入的参数进行不同的操作和处理。命令行参数通常使用在脚本和命令行工具中。

命令行参数的格式

命令行参数通常使用一定的格式来传递参数,最常见的格式是使用短横线(-)或者双短横线(--)来标识参数名,后面跟着参数的值。例如:

$ python my_script.py --name John --age 20

在上面的例子中,--name--age就是参数名,后面的John20就是参数的值。

读取命令行参数

在大多数编程语言中,读取命令行参数都非常简单。以下是一些示例代码:

Python
import sys

args = sys.argv[1:]  # 获得除脚本名称以外的所有参数
print(args)
JavaScript
const args = process.argv.slice(2);  // 获得除node命令和脚本名称以外的所有参数
console.log(args);
Java
public static void main(String[] args) {
    System.out.println(Arrays.toString(args));
}
高级用法:使用argparse模块

如果你想要更为复杂和灵活的命令行参数解析,可以使用Python自带的argparse模块。以下是一些示例代码:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--name', required=True, help='your name')
parser.add_argument('--age', type=int, help='your age')
parser.add_argument('--gender', choices=['male', 'female'], default='male', help='your gender')
args = parser.parse_args()

print(args)

在上面的代码中,我们使用argparse模块定义了三个命令行参数。--name是必选的,--age是可选的,且必须是整数类型,--gender是可选的,且必须是male或者female中的一个,如果没有传入该参数,则默认值为male

总结

命令行参数是一种非常实用的技巧,可以让程序根据传入的参数进行不同的操作和处理。不同的编程语言有不同的读取命令行参数的方式,同时也有一些优秀的第三方库可以帮助我们更加灵活和高效地解析命令行参数。