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出来

因为在运行python脚本的时候你没在后面添加一个值。sys.argv[1]意思是取位置第二的参数。位置第一的是py名字,第二的参数你没有输入,所以取不到,所以报错out of range。 你执行的时候一般是这样的:python xxx.py A 其中xxx是程序名字,即sys....

可以把它当成变量用 如在test.py文件中 def test(): import sys argv1 = sys.argv[1] print(argv1) 在命令行中 python test.py abc 结果是 abc

题出自本方法学爬虫 这个需要用“命令行”来运行。 具体方法,win+r键,输入cmd回车,在命令行里面找到该文件即可。 至于怎么在命令行里找到你的代码文件,自行百度。

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