python命令行使用参数

Posted 皇家大鹏鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python命令行使用参数相关的知识,希望对你有一定的参考价值。

现在Linux系统的使用越来越普遍,因此使用命令行操作完成一些系统功能很有必要,今天简单谈谈命令行下如何进行python参数的调用,这里需要使用的是sys模块,请看下面的脚本,脚本名称test.py:

#!usr/bin/python
#-*- coding:UTF-8 -*-
import sys
print(\'参数个数为:\',len(sys.argv),\'个参数\')
print(type(sys.argv))
print(\'参数列表:\',sys.argv)
print(\'参数列表:\',str(sys.argv))

使用命令行运行该脚本:

$ python test.py arg1 arg2 arg3

得到的结果为:

参数个数为: 4 个参数
<class \'list\'>
参数列表: [\'test.py\', \'arg1\', \'arg2\', \'arg3\']
参数列表: [\'test.py\', \'arg1\', \'arg2\', \'arg3\']

可以看到第一个参数为脚本名称,可以通过sys.argv[0]得到,后面的几个参数则可以用类似的方式,输出格式时list,其中每个元素的格式为str(字符串)。通过index访问,这样的机制给我们提供了方便——当我们需要用户输入参数和脚本进行交互时,可以这么做。

再来看一个例子, 脚本名称还是test.py:

#!usr/bin/python
#-*- coding:UTF-8 -*-
import sys
print("脚本名称:",sys.argv[0])
for i in range(1, len(sys.argv)):
    print("参数 ",i,type(sys.argv[i]),sys.argv[i])

使用命令行运行脚本:

$ python test.py haha 1 2 3 hello

运行结果如下:

脚本名称: test.py
参数  1 <class \'str\'> haha
参数  2 <class \'str\'> 1
参数  3 <class \'str\'> 2
参数  4 <class \'str\'> 3
参数  5 <class \'str\'> hello

可以看出用户输入参数的数量可以是任意的,而且输入的内容不论是什么全部为str类型,如果有其他需要应该进行类型转换,这么一来可以直接通过命令行与程序进行交互,比较方便,实际的编程应用中,还是需要对输入参数做一些检查的,尤其是参数的数量

 

参考链接:

http://www.runoob.com/python/python-command-line-arguments.html

https://www.cnblogs.com/saiwa/articles/5253713.html

 

以上是关于python命令行使用参数的主要内容,如果未能解决你的问题,请参考以下文章

Python 命令行参数以及代码编译发布为可执行文件

Python3 命令行参数

Python 命令行参数字符串以 '-' 开头

Python必备基本技能——命令行参数args详解

docopt——好用的Python命令行参数解释器

复用代码Python接收命令行参数:argparse模块