首页 > 编程语言 > 详细

传递命令行参数示例代码 (C 和 Python)

时间:2018-07-14 15:17:13      阅读:202      评论:0      收藏:0      [点我收藏+]

C语言

在 C 语言中, 使用 main 函数的输入参数 argc 和 argv 传入命令行参数.

  • argc 为 int 类型, 表示传入命令行参数的个数 (argument count);
  • argv 为 char** 类型, 表示命令行参数向量 (argument vector), 每个命令行参数为字符串类型, 因此 参数 argv 也可以看做是字符串数组.

示例代码如下:

/*
* filename: pass_args.c
* This code is modified a little according to the Arun‘s answer in https://stackoverflow.com/questions/3898021/regarding-mainint-argc-char-argv
*/

#include <stdio.h>

int main(int argc, char *argv[])
{
    int i = 0;

    printf(" argc = %d\n", argc);
    for (; i < argc; ++i) {
        printf(" argv[ %d ] = %s\n", i, argv[i]);
    }

    return 0;
}

编译命令为

$ gcc pass_args.c -o pass_args

运行命令及结果如下:

$ ./pass_args arg1 arg2 3
argc = 4
argv[ 0 ] = ./pass_args
argv[ 1 ] = arg1
argv[ 2 ] = arg2
argv[ 3 ] = 3

 

Python 语言

Python 语言可以使用 sys 模块中的 argv 变量, 实现相似的功能.  如果需要更高级的命令行参数传递方式, 可以使用 argparse 模块. 使用 sys.argv 的示例代码如下:

#!/usr/bin/env python
# -*- coding: utf8 -*-
from __future__ import print_function
import sys

if __name__ == __main__:
    print (The argument count is %d. % len(sys.argv))
    print (The argument vectors: )
    for i, arg in enumerate(sys.argv):
        print (  argv[ %d ] = %s % (i, arg))

运行命令及结果如下:

$ python pass_args.py arg1 arg2 3
The argument count is 4.
The argument vectors: 
  argv[ 0 ] = pass_args.py
  argv[ 1 ] = arg1
  argv[ 2 ] = arg2
  argv[ 3 ] = 3

 

参考资料

1. Regarding ‘main(int argc, char *argv[])‘ [duplicate]. https://stackoverflow.com/questions/3898021/regarding-mainint-argc-char-argv

2. Entry point - Wikipedia. https://en.wikipedia.org/wiki/Entry_point

3. Python - Command Line Arguments. https://www.tutorialspoint.com/python/python_command_line_arguments.htm

 

传递命令行参数示例代码 (C 和 Python)

原文:https://www.cnblogs.com/klchang/p/9309402.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!