python之sys.argv

用python编程

1.首先在 IDE 的 file 模式下 

[python]  view plain  copy
  1. import sys#导入模块sys  
  2.   
  3. for ele in sys.argv:#对argv这个list进行迭代输出  
  4.     print ele,  

将test.py存入指定位置(该位置在后面操作时需要再用到)

2.打开 cmd 

调用脚本命令行 Python test.py [ 参数1]  [ 参数2 ]  [ 参数3 ] ......

Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,即argv=["test.py","1","2","3"]

[python]  view plain  copy
  1. import sys#导入模块sys  
  2.   
  3. for ele in sys.argv:#对argv这个list进行迭代输出  
  4.     print ele,  
  5. print 'Count of parameters ',len(sys.argv)  
  6. print 'List of parameters ',str(sys.argv)  

3.python的分片操作:

>>>numbers = [1,2,3,4,5,6,7,8,9]
>>>numbers[2:4]
[3,4]
>>>numbers[0:1]
[1]
>>>numbers[2:]
[3,4,5,6,7,8,9]
>>>numbers[-2:0]
[]
>>>numbers[-2:]
[8,9]
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这里numbers是一个列表,其中有1~9,9个数(列表中的元素也可以是字符串,等等) 
可以看出分片操作需要提供两个索引作为边界,第1个索引是要提取的第1个元素,第2个索引是分片之后的第1个元素的编号,即分片中不包括第2个索引对应的元素。如果要包括序列中最后一个元素,就可以不写出第2个索引。 
如果分步中最左边的索引比它右边的出现的晚,结果会是一个空序列。

在分片时,除了开始和结束的索引,其实还有一个隐藏的参数步长,默认为1。如下:

>>>numbers[0::1]
[1,2,3,4,5,6,7,8,9]
>>>numbers[0::2]
[1,3,5,7,9]
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

通过这个例子可以看到步长的作用,分步操作就是按照这个步长来逐个遍历序列的元素,然后返回开始和结束点之间的元素。

步长不能为0,不过可以为负值,此时分片从右到左提取序列中的元素,且开始点(索引)应大于结束点

>>>numbers[7:5:-1]
[8,7]
>>>numbers[5::-2]
[6,4,2]

第一个程序:倒着打印出所有参数

import sys

for i in sys.argv[:0:-1] :
    print i[::-1],
print "\b"
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

第一行我们引入sys模块,变量sys.argv包含传递到Python解释器的参数,包括脚本名称。 
sys.argv列表中第一个元素是脚本名(xx.py),后面的元素为参数。 
第三行使用for循环,for i in sys.argv[:0:-1]表示每次循环,i依次为sys.argv[:0:-1]列表中的元素(倒序的参数) 
第四行print i[::-1]倒着输出这个参数,加”,”表示输出之后空格,而不是换行 
第五行print”\b”,\b转义为退格,可以去掉最后多出的一个空格

试试从cmd上传入参数运行: 
这里写图片描述 
我们得到了想要的结果。

再来看看下一个程序:输入一个字符串实现跳两个字符输出

x = raw_input()
print x[0::3] + x[1::3] + x[2::3]
    
    
  • 1
  • 2
  • 1
  • 2

第一行 x = raw_input() 表示将输入的内容以字符串传给变量x 
下一行,利用分片和序列相加,就可以轻松把一个字符串跳两个字符输出。

运行如下 
这里写图片描述 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值