传递命令行参数示例代码 (C 和 Python)
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)的更多相关文章
- 使用 Apache Commons CLI 解析命令行参数示例
很好的输入参数解析方法 ,转载记录下 转载在: https://www.cnblogs.com/onmyway20xx/p/7346709.html Apache Commons CLI 简介 Apa ...
- 利用COPYDATASTRUCT传递命令行参数给驻留内存的进程(SendMessage应用)
我们知道Window进程之间通过API的SendMessage方法传递消息.但是方法参数lParam是Long型,那么如果传递一个字符串(譬如命令行参数)应该怎么办呢,甚至一个对象.结构呢.VB的发送 ...
- 自定义实现InputFormat、OutputFormat、输出到多个文件目录中去、hadoop1.x api写单词计数的例子、运行时接收命令行参数,代码例子
一:自定义实现InputFormat *数据源来自于内存 *1.InputFormat是用于处理各种数据源的,下面是实现InputFormat,数据源是来自于内存. *1.1 在程序的job.setI ...
- boost之program_options库,解析命令行参数、读取配置文件
一.命令行解析 tprogram_options解析命令行参数示例代码: #include <iostream> using namespace std; #include <boo ...
- python代码在IDE下调试设置命令行参数
带命令行参数的代码在IDE下调试,需要把参数赋值,本文mark一下具体的命令行参数在代码中赋值方法. if __name__ == "__main__": sys.argv = [ ...
- [Objective-C语言教程]命令行参数(23)
执行时,可以将一些值从命令行传递给Objective-C程序. 这些值称为命令行参数,很多时候它们对程序很重要,特别是当想要从外部控制程序而不是在代码中对这些值进行硬编码时就很有用了. 命令行参数使用 ...
- ylbtech-LanguageSamples-CommandLine(命令行参数)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-CommandLine(命令行参数) 1.A,示例(Sample) 返回顶部 “命令行参 ...
- java的命令行参数到底怎么用,请给截图和实际的例子
8.2 命令行参数示例(实验) public class Test { public static void main(String[] args){ if(args.length ...
- [转]Python 命令行参数和getopt模块详解
FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...
随机推荐
- hadoop2.x 安装配置
hadoop2.x在系统架构上与hadoop1.x有很大的变化 原文地址: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-y ...
- 【数组】Search Insert Position
题目: Given a sorted array and a target value, return the index if the target is found. If not, return ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框
-----mywidget.cpp----- #include "mywidget.h" #include "ui_mywidget.h" #include & ...
- Docker笔记:常用命令汇总
Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...
- 玩转mongodb(六):索引,速度的引领(普通索引篇)
数据库索引与书籍的索引类似,有了索引就不需要翻整本书,数据库可以直接在索引中查找,在索引中找到条目后,就可以直接跳到目标文档的位置,这可以让查找的速度提高几个数量级. 一.创建索引 我们在person ...
- Smali 语法文档
可以选择保存成pdf格式,查询起来挺方便的 if v0==0 go cond_0 if-eqz v0, :cond_0 if v0!=0 go cond_0 if-nez v0, :cond_0 ...
- java 之 异常处理小结
1 :分类 检查异常(checked,受检) 运行异常(unchecked) 2:捕获异常 try/catch try/catch/finally try/finally try{ //受保 ...
- ruby文件操作
Ruby代码 1.#读文件 2.f = File.open("myfile.txt", "r") 3.f.each_line do|line| 4.puts & ...
- ruby 数据sql操作
ActiveRecord ActiveRecord 是 Rails 的 ORM 元件,負責與資料庫溝通,讓我們可以用物件導向的語法操作資料庫.在”打造 CRUD 應用程式”一章中提到的對應概念如下: ...
- Linux 查看内核版本命令的相关说明
hostname 显示主机名称uname -a 显示内核版本详细信息,其中包括主机名称,发行厂商这个命令是看不到的. 如果要看发行版及厂商可使用命令:lsb_release –a uname -a后, ...