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 = ; printf(" argc = %d\n", argc);
for (; i < argc; ++i) {
printf(" argv[ %d ] = %s\n", i, argv[i]);
} return ;
}

编译命令为

$ gcc pass_args.c -o pass_args

运行命令及结果如下:

$ ./pass_args arg1 arg2
argc =
argv[ ] = ./pass_args
argv[ ] = arg1
argv[ ] = arg2
argv[ ] =

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
The argument count is .
The argument vectors:
argv[ ] = pass_args.py
argv[ ] = arg1
argv[ ] = arg2
argv[ ] =

参考资料

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)的更多相关文章

  1. 使用 Apache Commons CLI 解析命令行参数示例

    很好的输入参数解析方法 ,转载记录下 转载在: https://www.cnblogs.com/onmyway20xx/p/7346709.html Apache Commons CLI 简介 Apa ...

  2. 利用COPYDATASTRUCT传递命令行参数给驻留内存的进程(SendMessage应用)

    我们知道Window进程之间通过API的SendMessage方法传递消息.但是方法参数lParam是Long型,那么如果传递一个字符串(譬如命令行参数)应该怎么办呢,甚至一个对象.结构呢.VB的发送 ...

  3. 自定义实现InputFormat、OutputFormat、输出到多个文件目录中去、hadoop1.x api写单词计数的例子、运行时接收命令行参数,代码例子

    一:自定义实现InputFormat *数据源来自于内存 *1.InputFormat是用于处理各种数据源的,下面是实现InputFormat,数据源是来自于内存. *1.1 在程序的job.setI ...

  4. boost之program_options库,解析命令行参数、读取配置文件

    一.命令行解析 tprogram_options解析命令行参数示例代码: #include <iostream> using namespace std; #include <boo ...

  5. python代码在IDE下调试设置命令行参数

    带命令行参数的代码在IDE下调试,需要把参数赋值,本文mark一下具体的命令行参数在代码中赋值方法. if __name__ == "__main__": sys.argv = [ ...

  6. [Objective-C语言教程]命令行参数(23)

    执行时,可以将一些值从命令行传递给Objective-C程序. 这些值称为命令行参数,很多时候它们对程序很重要,特别是当想要从外部控制程序而不是在代码中对这些值进行硬编码时就很有用了. 命令行参数使用 ...

  7. ylbtech-LanguageSamples-CommandLine(命令行参数)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-CommandLine(命令行参数) 1.A,示例(Sample) 返回顶部 “命令行参 ...

  8. java的命令行参数到底怎么用,请给截图和实际的例子

    8.2 命令行参数示例(实验) public class Test {    public static void main(String[] args){        if(args.length ...

  9. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

随机推荐

  1. java c :foreach 标签怎么获取自增分页序号

    问题描述: 如果每页10条,下一页就从11递增,依次类推:用varStatus,下一页又从1开始了 解决方案: <c:forEach var="pag" begin=&quo ...

  2. jquery.lazyload插件实现图片延迟加载

    jquery.lazyload是一个实现图片延迟加载的jQuery 插件,它可以延迟加载长页面中的图片.在浏览器可视区域外的图片在初始状态下不会被载入,直到用户将页面滚动到它们所在的位置. 1.引入j ...

  3. JS - 解决鼠标单击、双击事件冲突问题(原生js实现)

    由于鼠标双击时每一次触发双击事件都会引起两次单击事件和一次单击事件,原生的js不提供专门的双击事件. 因为业务原因,双击和单机都绑定了不同的业务,在双击的时候又触发了单机,影响了页面的正常显示 出现问 ...

  4. AndroidStudio生成自己的Compile依赖

    在AndroidStudio中经常使用compile的方式来导入第三方代码,如图所示: 想要拥有自己的依赖,可参考本篇的方法 在github上托管一个带有Android Libray的项目,我们要co ...

  5. mysql数据库修改字符编码问题

    遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成. 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码. 只有在存储到数据库后查询数 ...

  6. n-grama

    一.N-Gram的原理(这个词出现在句子中出现的概率) N-Gram是基于一个假设:第n个词出现与前n-1个词相关,而与其他任何词不相关.(这也是隐马尔可夫当中的假设.)整个句子出现的概率就等于各个词 ...

  7. JDK的spi实现

    SPI的全名为Service Provider Interface.大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的.在java.util.ServiceLoader的文档里有比较详细的介绍.简 ...

  8. The best career advice I’ve received --转载

    http://www.nczonline.net/blog/2013/10/15/the-best-career-advice-ive-received/ The best career advice ...

  9. [转]使用BCP导出导入数据

    本文转自:http://www.cnblogs.com/zerocc/p/3225723.html bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容 ...

  10. js加载事件和js函数定义

    一  dom文档树加载完之后执行一个函数 在Dom加载完成后执行函数,下面这三个的作用是一样的,window.onload 是JavaScript的,window.onload是在dom文档树加载完和 ...