博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中sys用法_Python中 sys.argv[]的用法简明解释
阅读量:6377 次
发布时间:2019-06-23

本文共 1045 字,大约阅读时间需要 3 分钟。

因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转载和复制的。给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道“sys.argv[0]表示代码本身文件路径”这点,其实还是不明其意。后来经过大量努力,多方求教才真正明悟了,谨以记录和分享,希望能从另一个角度给同在求索过程中的同学一点启发。

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

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

1 #test.py

2

3 import sys

4 a=sys.argv[0]

5 print(a)

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

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

6d2d661cd6af27be55d811d74d58dc5b.png

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

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

a=sys.argv[1]

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

ef9e7497f38e032d5f52ed1f78d6667a.png

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

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

a=sys.argv[2:]

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

test.py a b c d e f

93a41e12baa5ae305ee3e417a65e1ec1.png

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

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

来源:http://www.cnblogs.com/aland-1415/p/7128121.html

你可能感兴趣的文章
深拷贝与浅拷贝复习
查看>>
各种参数的响应时间
查看>>
SQL Server 索引重建脚本
查看>>
23:LVS客户端配置脚本案例
查看>>
Android播放本地视频
查看>>
Hadoop环境搭建
查看>>
Ubuntu和win双系统删除ubuntu开机出错
查看>>
uva 753(最大流)
查看>>
python 匹配中文和英文
查看>>
vbox下Oracle Enterprise liunx5.4虚拟机安装10G RAC实验(三)
查看>>
页面注册类
查看>>
webstorm快捷键
查看>>
uploadify 上传 大文件没有反映
查看>>
poj1250 Tanning Salon
查看>>
SaaS
查看>>
hdu1535(最短路)
查看>>
poj3974(manacher)
查看>>
【转】游戏程序员的数学食粮05——向量速查表
查看>>
03-13 块标签浮动 网页布局 绝对定位 相对定位
查看>>
java例程练习(多线程[join()方法])
查看>>