sys.argv[]使用

简介: sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。

sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。

#test.py
 
import sys
a=sys.argv[0]
print(a)

将test.py保存在c盘的根目录下。

在程序中找到 ‘运行’->点击->输入"cmd"->回车键 进入控制台命令窗口(如下图),先输入cd c:  (作用是将命令路径改到c盘根目录),然后输入test.py运行我们刚刚写的程序:
img_e760e5b32b48dc304d3ad90533773393.png

得到的结果是C:\test.py,这就是0指代码(即此.py程序)本身的意思。

然后我们将代码中0改为1 :

a=sys.argv[1]

保存后,再从控制台窗口运行,这次我们加上一个参数,输入: test.py what
img_af0cfbac4753ac8f3ca5e85bd744ebe7.png

得到的结果就是我们输入的参数what,看到这里你是不是开始明白了呢。

那我们再把代码修改一下:

a=sys.argv[2:]

保存后,再从控制台窗台运行程序,这次多加几个参数,以空格隔开:

test.py a b c d e f

img_c9399e8471ceb765dec96fc7073989f6.png

得到的结果为[‘b’, ’c’, ’d’, ’e’, ’f’]

应该大彻大悟了吧。Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该 将程序保存了,从外部来运行程序并给出参数

参考Python3 中 sys.argv[ ]的用法解释

知识在于点滴积累
目录
相关文章
|
3月前
|
Python
通俗易懂的sys.argv[]的用法
通俗易懂的sys.argv[]的用法
57 0
system.dll,Nskhelper2.sys,oapejg.sys,991b0345.dat,NsPass0.sys等1
system.dll,Nskhelper2.sys,oapejg.sys,991b0345.dat,NsPass0.sys等1
ROOT_DIR=os.path.abspath(os.path.join(p, '..', 'data/raw/'))代码含义
这行代码的作用是设置一个名为 ROOT_DIR 的变量,其值为指向项目根目录下的"data/raw/"目录的绝对路径。下面是对每个部分的详细解释: os.path.abspath():这个函数返回参数路径的绝对路径,也就是完整路径,包括盘符或根目录和所有子目录。 os.path.join(p, '..', 'data/raw/'):这个函数使用操作系统特定的路径分隔符将参数连接起来,并返回一个新的路径。这里,它连接了当前工作目录(也就是代码所在的目录)的父目录("..") 和"data/raw/",生成了一个相对路径。 p:这是一个之前定义过的变量,代表了当前工作目录的路径。 ROOT_DI
135 0
在运行python程序时 self.adjacency_list.append([int(tempInfo[0])-1,int(tempInfo[1])-1]) 报错ValueError: inv
在运行python程序时 self.adjacency_list.append([int(tempInfo[0])-1,int(tempInfo[1])-1]) 报错ValueError: inv
在运行python程序时 self.adjacency_list.append([int(tempInfo[0])-1,int(tempInfo[1])-1]) 报错ValueError: inv
|
开发工具 git Python
Python 中的 sys.argv 是个什么鬼?
最近在 github 上 git 别人的代码下来学习 ,其中有一个 face-detection 相关的代码 ,就涉及了 sys.argv ,并且运行后是这个样子~
144 0
Python 中的 sys.argv 是个什么鬼?
成功解决sys.argv[1] IndexError: list index out of range错误
成功解决sys.argv[1] IndexError: list index out of range错误
成功解决sys.argv[1] IndexError: list index out of range错误
|
Python
python之sys.argv获取命令行的参数
python之sys.argv获取命令行的参数
166 0