Python命令行得到参数

该代码段展示了一个Python脚本,用于利用argparse模块解析命令行参数。它定义了四个参数:enroll_pkl、test_pkl、trials和scorefile,这些参数在运行脚本时通过命令行传递。
import argparse

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument('--enroll_pkl', type=str)
    parser.add_argument('--test_pkl', type=str)
    parser.add_argument('--trials', type=str)
    parser.add_argument('--scorefile', type=str)
    arg = parser.parse_args()
    return arg

if __name__ == '__main__':
    arg = parse_args()
    enroll_pkl = arg.enroll_pkl
    test_pkl = arg.test_pkl
    trials = arg.trials
    scorefile = arg.scorefile
Python 接收命令行参数主要有以下几种方法: ### 使用 `sys.argv` `sys.argv` 是 Python 内置的一个列表,它包含了命令行传递给 Python 脚本的所有参数。`sys.argv[0]` 是脚本本身的名称,后续元素是传递的参数。 示例代码: ```python import sys # 获取参数 input_file = sys.argv[1] output_file = sys.argv[2] print(input_file) print(output_file) ``` 使用方式,假设脚本名为 `my_script.py`,在命令行运行: ``` python my_script.py input.txt output.txt ``` 这里 `input.txt` 和 `output.txt` 就是传递给脚本的参数,会分别赋值给 `input_file` 和 `output_file` 变量[^1]。 ### 使用 `getopt` 模块 `getopt` 模块可以用来解析命令行选项和参数。它支持短选项(如 `-a`)和长选项(如 `--option`)。 示例代码: ```python import sys import getopt def usage(): print("sys.argv[0]: '-a aa -b bb -c cc'") print("sys.argv[0]: ' -h'") def db_get_args(): try: opts, args = getopt.getopt(sys.argv[1:], "ha:b:c:") except getopt.GetoptError as err: print(str(err)) usage() sys.exit(1) if len(opts) == 3: for op, value in opts: if op == "-h": usage() sys.exit(1) elif op == "-a": aa = value elif op == "-b": bb = value elif op == "-c": cc = value else: usage() sys.exit(1) return aa, bb, cc aa, bb, cc = db_get_args() print(aa, bb, cc) ``` 使用方式,假设脚本名为 `getargs.py`,在命令行运行: ``` python getargs.py -a aa -b bb -c cc ``` 这里 `-a`、`-b`、`-c` 是选项,`aa`、`bb`、`cc` 是对应选项的值[^4]。 ### 使用 `argparse` 模块 `argparse` 是 Python 标准库中用于解析命令行参数的模块,它功能强大,支持位置参数、可选参数、子命令等,并且可以自动生成帮助信息。 示例代码: ```python import argparse parser = argparse.ArgumentParser(description='命令行中传入一个数字') # type 是要传入的参数的数据类型,help 是该参数的提示信息 parser.add_argument('integers', type=str, help='传入的数字') args = parser.parse_args() # 获得传入的参数 print(args) ``` 使用方式,假设脚本名为 `script.py`,在命令行运行: ``` python script.py 5 ``` 这里 `5` 就是传递给脚本的位置参数,程序会将其作为 `integers` 参数的值。运行 `python script.py -h` 可以查看帮助信息,了解参数的使用方法[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值