Python编程 | 系统编程 | 脚本运行上下文 | 命令行参数

Python编程 | 系统编程 | 脚本运行上下文 | 命令行参数

Python可以通过sys模块获取脚本启动时命令行输入的信息,通常,它们被称为命令行参数***,以内置字符串列表*的形式存于sys.argv

alone@alone-Vostro-14-5401:/media/alone/Coding/Python/Python项目/pp4e/system$ cat test_argv.py 
import sys


print(sys.argv)
alone@alone-Vostro-14-5401:/media/alone/Coding/Python/Python项目/pp4e/system$ python test_argv.py -f file -d /home/alone/
['test_argv.py', '-f', 'file', '-d', '/home/alone/']

上述命令揭示了一个惯例:类似于function函数,命令行参数通过位置或使用**“-name value“**词语组来传递。

解析命令行参数

alone@alone-Vostro-14-5401:/media/alone/Coding/Python/Python项目/pp4e/system$ cat test_argv2.py 
#!/usr/bin/env python


def get_option_name(sys_argv_list):
	"扫描sys_argv_list列表查找-option_name option_value值对,并保存到字典r_option_dict返回"
	r_option_dict = {}
	while sys_argv_list:
		if sys_argv_list[0][0] == '-':
			r_option_dict[sys_argv_list[0]] = sys_argv_list[1]
			del(sys_argv_list[:2])
		else:
			del(sys_argv_list[0])
	return r_option_dict


if __name__ == '__main__':
	import sys
	print(get_option_name(sys.argv))
alone@alone-Vostro-14-5401:/media/alone/Coding/Python/Python项目/pp4e/system$ ./test_argv2.py 1106 2007 -f file -d /home/alone
{'-f': 'file', '-d': '/home/alone'}

对于更复杂的命令行,我们可以用Python标准库中的命令行处理工具来解析:

  • getopt模块,仿效Unix/C中的同名工具
  • optparse模块,一个新的替代之选,通常认为它的功能更强大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RizzoHou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值