knrt.net
当前位置:首页 >> python 开始就判断lEn(sys.Argv)==4想问下意义! >>

python 开始就判断lEn(sys.Argv)==4想问下意义!

sys.argv[0]是代表当前所执行的脚本 sys.argv[1] 脚本第一个参数 所以len(sys.argv)==4 代表当前脚本含有3个参数。 若执行命令为python hello.py "111" 则len(sys.argv)==2,hello.py也是其中的一个参数

你的脚本带参数运行了吗?如果没有,sys.argv[1]这个值是不存在的。如果带了参数运行,请print sys.argv[1]看看

我的问题是:为何[]里会有”:“冒号?sys.argv[1:]又代表什么? 这就是个分片操作 简单例子 l = [1,2,3,4,5] l[1:],意思就是取列表l第一个元素后的值,也就是[2,3,4,5] l[2:], -----------------[3,4,5] 还可以倒序来取 l[:-1],------------...

看你的意思应该是执行脚本的时候传入相关的参数,这个在python里面可以用getopt来实现。 因为你在脚本里面没有定义传入参数,len(sys.argv) 值应该为1,既只有‘脚本名’这个参数。所以运行的时候一直走if len(sys.argv) < 2: 这个分支。

#!/usr/bin/python import sys i=1 if __name__ == '__main__': if len(sys.argv) < 2 : print "please usage %s string "%(sys.argv[0]) sys.exit() print 'ligen----' while (i < len(sys.argv) ) : print sys.argv[i] i=i+1 print 'ligen----'

if __name__ == "__main__": #如果是主执行脚本执行下面的代码,就是在命令行直接调用,不是被其他脚本导入调用 import sys #导入sys模块 fib(int(sys.argv[1])) #我在你的另一个问题里回答过了:sys.argv里面存放的是命令行参数,argv[0]是脚本...

sys.argv返回的是命令行的参数列表 比如你要运行一个hello.py的程序需要用命令行传入参数,比如名字 运行就是 python hello.py "张三" 那么 你可以通过 sys.argv一个列表["张三"] 然后在程序里面使用 比如输出print出来

ys.argv变量是一个字符串的列表。特别地,sys.argv包含了命令行参数 的列表,即使用命令行传递给你的程序的参数。 这里,当我们执行python using_sys.py we are arguments的时候,我们使用python命令运行using_sys.py模块,后面跟着的内容被作为...

通过程序1可见,argv作为一个变量,是list类型的。其含有两个元素(都是字符串),第一个元素是“test2.py”即所执行的python脚本的名字;第二个元素才是我们想要的“第一个”命令行参数。 这个结论对于一般的python程序都是成立的,即argv[0]是脚本...

命令行参数不是设置的,而是在调用程序时传入的,如果没有传入参数,却又直接访问 sys.argv[1],就会导致index out of range,你可以在命令行这样调用一个python程序来传入参数: python aaa.py bbb ccc 这样的话 bbb ccc就是命令行参数了

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com