python执行命令行 *** 作

python执行命令行 *** 作,第1张

方法和C语言里的system函数是一致的。该方法的参数就是string类型的命令,返回值方面,linux和windows上的返回值不同。linux上,返回值为执行命令的exit值;而windows上,返回值则是运行命令后,shell的返回值。注意,该方法是没办法得到运行命令的输出的。

该方法返回的是file read的对象,如果想获取执行命令的输出,则需要调用该对象的read方法。

这三个方法是一个系列的,入参是string类型的命令,出参分别是输出,exit值,元祖(exit值,输出)。这个系列的方法相对来说也是最方便的,尤其第三个,可以同时返回exit值和输出,非常方便。

有些时候我们需要通过命令行将参数传递给脚本,C语言中有个getopt()方法,python中也有个类似的命令行参数解析方法getopt()。python也提供了比getopt()更简洁的argparse方法。另外,sys模块也可以实现简单的参数解析,本文将对这3种命令行参数解析方法简要介绍。

sys.argv是传入的参数列表,sys.argv[0]是当前python脚本的名称,sys.argv[1]表示第一个参数,以此类推。

命令行运行:

可以看到传入的参数通过sys.argv来获取,它就是一个参数列表。

python的getopt与C语言的的getopt()函数类似。相比于sys模块,支持长参数和短参数,并对参数解析赋值。但它需要结合sys模块进行参数解析,语法格式如下:

短参数为单个英文字母,如果必须赋值需要在后面加英文冒号( : ),长参数一般为字符串(相比短参数,更能说明参数含义),如果必须赋值需要在后面加等号( = )。

命令行运行:

注意:短参数(options)和长参数(long_options)不需要一一对应,可以任意顺序,也可以只有短参数或者只有长参数。

argparse模块提供了很多可以设置的参数,例如参数的默认值,帮助消息,参数的数据类型等。argparse类主要包括ArgumentParser、add_argument和parse_args三个方法。

下面介绍这三个函数的使用方法。

argparse默认提供了 -h | --help 参数:

命令行运行:

下面列出部分参数:

下面来添加参数:

命令行运行:

parse_args() 方法用于解析参数,在前面的示例代码中使用parse_args方法来提取参数值,对于无效或者错误的参数会打印错误信息和帮助信息:

命令行运行:

本文介绍了Python的三种命令行参数解析方法sys.argv、getopt和argparse,可以根据自己的需要进行选择,getopt和argparse两种方法相比来说,建议选择argparse,代码量更少更简洁。更详细的使用方法参考官方文档:

--THE END--


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8921222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存