优草派 > Python

Python如何解析命令行?优雅地解析命令行的方法有哪些?

翟嘉慧         优草派

随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率。Python如何解析命令行?优雅地解析命令行的方法有哪些?本文将通过两种方法给大家做出解答,需要的可以参考一下。

Python如何解析命令行?优雅地解析命令行的方法有哪些?

在学习python的时候,我们会经常自己写很多程序,在对命令行慢慢熟悉之后,都会想让高效的对命令行进行操作,使得开发效率得到提高,那么我们这样做需要才不像听起来那么麻烦呢,请看下面的两种方法。

1、手动解析

手动解析需要用到命令行参数,之前我们在对模块的学习时,提到过sys.args这个变量,它就是用来对一个脚本进行调用且传入命令行的一个参数,举个例子看看它的使用过程:

#HH.py
import sys
print(sys.argv)

对它进行调用

$ python test_sys.py -d today -t now --author justdopython --country China --auto

获得的结果:

['HH.py', '-d', 'today', '-t', 'now', '--author', 'justdopython', '--country', 'China', '--auto']

从调用结果我们可以了解到,这个变量它可以让我们的命令行参数使用空格进行切分,会得到一个字符串列表,而它的第一个参数就是我们的我们运行的脚本文件。

2、getopt模块

python中存在各种功能有些是别人已经写好的模块,直接就可以 拿来使用的,比如在对命令行参数解析的时候就可以使用到getopt模块,它能帮助我们很好的区分长短命令行参数,还可以对命令行参数的值进行提取。举个例子:

#HH.py
import sys
import getopt
opts, args = getopt.getopt(sys.argv[1:], 'd:t:', ["author=", "country=", "auto"])
print(opts)
print(args)

打印结果:

$ python test_getopt.py -d today -t now --author justdopython --country China --auto
[('-d', 'today'), ('-t', 'now'), ('--author', 'justdopython'), ('--country', 'China'), ('--auto', '')]
[]

通过以上案例,我们知道在getopt模块中的getopt函数它是用来对一个命令行参数进行解析的。这个函数它可以接受三个参数:args,shortopts和longopts,分别代表“命令行参数”,“要接收的短选项”和“要接收的长选项”。其中args和longopts均为字符串组成的列表,而shortopts则为一个字符串。

本文讲解了Python如何解析命令行?优雅地解析命令行的方法有哪些?一共讲解了两种方法,一种是略显笨重的手动解析,即自己编写程序自定义解析;另一种则是调用现成、且更加健壮的getopt模块来完成解析。希望对大家的学习有所帮助!

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024