python 获取命令行参数

马谦马谦马谦 Python评论1,845字数 951阅读 3 分 10 秒阅读模式

一、概述

python 获取命令行参数有两种方法,一种是使用 sys 模块直接获取到所有的命令行参数,另一种是使用 getopt 来获取指定标记的参数,后者更灵活一点,但是也复杂一点。

二、 sys 模块获取参数

通过 sys 模块获取命令行参数的方法很简单,直接调用 sys.argv 就可以了,sys.argv 是一个命令行参数的列表 ,保存了所有命令行的参数,其中第一参数固定为脚本的名字。

然后输入./args.py Hello World 运行,结果如下:

三、使用 getopt 模块来获取带标记参数

平常的程序中,经常会遇到这样带标记的参数输入,例如:mysql -u root -pls --help 。当用户的标记输入错误时能出现 usage 提醒。

python 中可以利用 getopt 模块来完成这一功能,getopt 的用法为:

第一个参数是获取系统的命令行传参,sys.argv[1:]表示从系统二个参数开始获取,因为 sys.argv[0]是脚本名字,对我们来说意义不大。

第二个参数是短标记集合,放在一个字符串中,每个字母表示一个短标记名字,使用的时候在前面加上-就可以了,上面的就表示设置三个短标记名字-i -u -h 。其中如果标记后面有: ,表示该标记为参数值,会提取后面的数据作为值,例如 mysql -u root 会把 root 作为-u 标记的值;如果没有则表示这个标记为一个开关,触发相应事件,像 ls --help 直接打印出命令用法。

第三个是长标记名字,例如 ls --help 就是一个长标记参数,和第二个参数中的标记一一对应,标记后面有等号表示为参数标记。

返回值有两个,第一个是 opt ,一个列表,每个元素是一个元组,分别表示参数名和值。第二个是 args,表示所有没有被标记的参数值。

运行:

要注意的一些点是:

  • 短标记和长标记后可以跟空格和等号再接参数,短标记也可以省略这两个符号直接加参数。
  • 不管长标记短标记后面都不能跟多个值

python获取命令行参数

 

  最后更新:2017-11-18
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2017 年 11 月 14 日 22:39:06
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/code/python/python-cmd-arg.html
Python SMTP发送邮件 Python

Python SMTP 发送邮件

一、概述 python 提供了两个包来提供 SMTP 邮件服务支持:smtplib 和 email,前者系统内置,后者需要通过 pip 或者其他方式手动安装。其中 smtplib 提供邮件发送功能,email...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证