Python中 sys.argv[]的用法简明解释

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

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

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

import sys

a=sys.argv[0]

print(a)

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

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

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

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

a=sys.argv[1]

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

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

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

a=sys.argv[2:]

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

test.py a b c d e f

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

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

http://www.cnblogs.com/aland-1415/p/6613449.html

时间: 2024-10-10 13:23:00

Python中 sys.argv[]的用法简明解释的相关文章

Python中 sys.argv[]的用法实操

使用sys.argv[]首先要调用模块sys import sys 通俗说,这个东西就是取代了input的功能,input是用pycharm上,而argv[]是用在命令行上 也就是window 上的小黑框 按照电脑上的菜单键出现下图,在搜索框输入cmd命令 接下来就看到小黑框了 下面这张图要注意的知识点: 命令行中如果想切换盘符,就是你电脑上的C盘,D盘,E盘,我电脑就这3个分区,我今天要操作的文件路径如下: E:\Python学习\day18\sysargv.py ①打开命令窗口如下,默认路径

【python】sys.argv[]的用法

在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例, import sys,os os.system(sys.argv[1]) 这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数

Python中 sys.argv[]的杏彩平台出租用法简明解释

因为是看书杏彩平台出租haozbbs.comQ1446595067 自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转裁和复制的.给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道"sys.argv[0]表示代码本身文件路径"这点,其实还是不明其意.后来经过大量努力,多

python中sys.argv的说明(读《python简明教程》的困惑解答)

在阅读<python简明教程>的时候,第8章.14章有对sys模块的使用,其中关于sys.argv的说明有一点困惑,让自己思索了好久,后来才恍然大悟,在这里分享一下我所理解到的,以便于和我有一样困惑的python学习者能够更好的理解. 以下代码来自于<python简明教程>8.1: 例8.1 使用sys模块 #!/usr/bin/python # Filename: using_sys.py import sys print 'The command line arguments

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

sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法. #test.py import sys a=sys.argv[0] print(a) 在程序中找到 ‘运行’->点击->输入"cmd&q

python中sys.argv[]的使用

sys.argv[]主要用于程序从外部获取参数.其参数个数可以是多个,组建成一个列表(list). 几个简单示例如下: fun_test.py: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import sys 5 info = sys.argv[0] 6 print info 我们在命令行中只是运行fun_test.py,发现此时返回函数本身. 注意参数为0! 进行相关修改: info = sys.argv[1] 此时运行fun_

Python:sys.argv[]用法

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始. arg[1]表示第一个命令行参数 arg[1][2:] 表示取第一个命令行参数,但是去掉前两个字节 比如命令行参数为   “--help” ,就去掉“--”,执行"help"参数. 比如当我们执行 python hello.py we are boys 时 Python为我们把它存储在sys.argv变量中. 脚本的名称总是sys.argv列表的第一个参数. 所以这里 sys.a

python学习——sys.argv

sys.argv[]:用于获取命令行参数,sys.argv[0]即所运行的代码自身的文件路径,因此真正的其他参数是从1开始 sys.argv[1]:表示第一个参数 sys.argv[1][2:]:表示第二个参数,从第三个字符开始 以下为演示程序:cat.py 1 # -*-coding:gb2312-*- 2 3 #Function:验证sys.argv的功能 4 5 import sys 6 7 def readfile(filename): 8 f = file(filename) 9 wh

python中sys.setdefaultencoding(&#39;utf-8&#39;)的作用

在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,即编码unicode→str,解码str→unicode,其中str指的是字节流,而str.decode是将字节流str按给定的解码方式解码,并转换成utf-8形式,u.encode是将unicode类按给定的编码方式转换成字节流str.注意调用encode方法的是unicode对象,生成的是字节流:调用decode方法的是str对象(字节流),生成的是unicode对象.若str对象调用encode会默