python sys.argv的用法,实例详解什么是命令行参数

sys.argv

sys.argv可以用于获取python文件运行的时候的命令行参数,返回值是一个python列表list,其中sys.argv[0],即第一个元素是程序本身的文件名。那什么是命令行参数呢?或者说什么是命令行呢?比如,在mac或linux终端或windows的命令行工具中运行python文件的命令:“python xxx.py”便是命令行,那命令行参数又是什么情况呢?就是在输入命令行的时候传递参数。具体的可以见最下方的那个实例代码。

sys.argv实例代码

提示:注意,如果是在python的即时交互编辑器shell中,sys.argv[0]将会是一个空的字符串值,比如下面的代码:

>>> import sys
>>> sys.argv[0]
'' #空字符串
>>> l = sys.argv
>>> type(l)
<class 'list'> #sys.argv的返回值为list类型

所以,一般情况下,需要通过创建py文件来对此进行测试,正如sys.argv的介绍中的那样,是用于获取python文件运行的时候的命令行参数。比如下方的代码:

#-*- coding:utf-8 -*-
import sys
name = sys.argv[0]
print(path,type(name)) 
#输出内容为:
test.py <class 'str'> 

sys.argv获取命令行参数

这里终于要讲到sys.argv获取命令行的参数了,在这之前,先介绍如何在命令行中传递参数,语法如下:

python xxx.py 1 2 3

其中,1、2、3便是传递到命令行的参数,实际上xxx.py也可以视为命令行的参数,因为这个也会被sys.argv获取,而且是作为列表中的第一个值。注意,参数之间要用空格隔开。

实例

鄙人的操作是在创建一个test.py文件,然后输入如下代码,再在终端中输入命令行:python3 test.py 1 2 3来运行,注意终端中要先进入当前的目录。

#-*- coding:utf-8 -*-
import sys
name = sys.argv
print(name)
#代码输出的内容:
['test.py', '1', '2', '3'] #如果不传入参数,python3 test.py的输出内容为['test.py']

全栈后端 / Python库 :









Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.