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

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

sys.argv 表示命令行参数, 这个判断,是判断启动时是不是提供了4个参数,并进行相应处理, 比如执行下面2行,分别是1个参数和2个参数: python hello.py "111" python hello.py "111" "222"

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

#!/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----'

1.sys.argv是用来存放系统的参数,包括脚本名本身。 2.你这么直接使用sys.argv[1]和sys.argv[2],是很不好的做法。 3. 正常,且推荐的用法是,使用对应的库函数,帮你解析对应函数参数。 详细解释可参考我的: 【整理】Python中如何获得并处理命...

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

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

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

sys.argv 表示命令行参数,这个判断,是判断启动时是不是提供了4个参数,并进行相应处理,比如执行下面2行,分别是1个参数和2个参数:python hello.py "111"python hello.py "111" "222"

命令行参数不是设置的,而是在调用程序时传入的,如果没有传入参数,却又直接访问 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