现在 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.bubuko.com/infodetail-2855034.html