python中的sys.argv与C语言main函数char *argv[]

python中的sys.argv与C语言main函数char argv[],这两个都是用来获取外部输入的参数,本质上没有什么区别。在windows上我们可以直接将文件拖动到对应的软件直接打开,其实就是可以利用这个来实现。

  1. 对于python中的sys.argv,实际上是一个表,用来存储外部输入的参数,通过下面代码可以看出:

    import sys
    import os
    for i in sys.argv:
    	print(i)
    os.system('pause')
    

    执行以上代码的同时传入两个参数:

    PS D:\Desktop\python_test\file> .\getArgv.py test1 test2
    D:\Desktop\python_test\file\getArgv.py
    test1
    test2
    请按任意键继续. . .
    

    一共打印出三行:
    第一行sys.argv[0]为python文件的绝对路径
    第二行sys.argv[1]为传入的第一个参数 test1
    第三行sys.argv[2]为传入的第一个参数 test2

  2. 对于C语言,外部参数通过main函数的形参传入,通过下面代码可以看出:

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int main(int argc,char *argv[])
    {
    	int i = 0;
    	for (i = 0; i < argc; i++)
    	{
    		printf("%s\n", argv[i]);
    	}
    	system("pause");
    	return 0;
    }
    

    main函数的形参argc为外部参数的个数,argv为一个二维数组,存放外部参数,编译执行上面代码, 并传入两个参数:

    PS D:\Desktop\python_test> gcc .\test.c -o test.exe
    PS D:\Desktop\python_test> .\test.exe test1 test2  
    D:\Desktop\python_test\test.exe
    test1
    test2
    请按任意键继续. . .
    

    同样打印出三行内容:
    第一行argv[0]为test.exe文件的绝对路径
    第二行argv[1]为传入的第一个参数test1
    第三行argv[2]为传入的第一个参数test2

  3. 回到最初,我们将第一个python代码打包为getArgv.exe文件后,将电脑上的任意文件/文件夹拖动到exe文件上即可获取到该文件/文件夹的绝对路径
    在这里插入图片描述
    如上图所示,将其它txt文件选中后拖动到getArgv.exe,即可打印出所有文件的绝对路径,如下所示:
    在这里插入图片描述
    获取路径之后就可以对文件进行一系列的操作。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值