sys.argv[]是用来获取命令行参数的,是一个由该脚本自身路径和其它输入的参数组成的List。sys.argv[0]表示代码本身文件路径。

这里,当我们执行python using_sys.py we are arguments的时候,我们使用python命令运行using_sys.py模块,后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。记住,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。注意,Python从0开始计数,而非从1开始。

# -*- coding:utf-8 -*-

from sys import argv

script,first,second,third=argv

print "The script is called:",script
print "Your first variable is:", first
print "Your second variable is:",second
print "Your third variable is:",third > python ex13.py first,2nd,3th
The script is called: ex13.py
Your first variable is: first
Your second variable is: 2nd
Your third variable is: 3th
# -*- coding:utf-8 -*-

import sys

def readfile(filename):
f=file(filename)
while True:
line=f.readline()
if len(line)==0:
break
print line
f.close() if len(sys.argv)<2:
print "No action specofied."
sys.exit() for i in range(len(sys.argv)):
print "sys.argv[%d]-----%s" %(i,sys.argv[i]) if sys.argv[1].startswith('--'):
option=sys.argv[1][2:]
#fetch sys.argv[1] without the first two characters
if option == "version":
print "Version 1.2"
if option =="help":
print """
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--version : Prints the version number
--help : Display this help ex13_2.py filename : will display content in file
""" if option not in ["version","help"]:
print "Unknow option."
sys.exit()
else:
for filename in sys.argv[1:]:
readfile(filename) > python ex13_3.py
No action specofied.
> python ex13_3.py --version
sys.argv[0]-----ex13_3.py
sys.argv[1]-------version
Version 1.2
> python ex13_3.py --help
sys.argv[0]-----ex13_3.py
sys.argv[1]-------help This program prints files to the standard output.
Any number of files can be specified.
Options include:
--version : Prints the version number
--help : Display this help ex13_2.py filename : will display content in file > python ex13_3.py 1.txt 2.txt
sys.argv[0]-----ex13_3.py
sys.argv[1]-----1.txt
sys.argv[2]-----2.txt
test for sys.argv
test2
> python ex13_3.py 1.txt
sys.argv[0]-----ex13_3.py
sys.argv[1]-----1.txt
test for sys.argv
> python ex13_3.py 1.txt 2.txt
sys.argv[0]-----ex13_3.py
sys.argv[1]-----1.txt
sys.argv[2]-----2.txt
test for sys.argv
test2
> python ex13_3.py 1.txt 2.txt 3.txt
sys.argv[0]-----ex13_3.py
sys.argv[1]-----1.txt
sys.argv[2]-----2.txt
sys.argv[3]-----3.txt
test for sys.argv
test2
test3

最新文章

  1. redux+flux(一:入门篇)
  2. ORACLE 11g安装
  3. 解决VML遭遇IE8和XHTML DOCTYPE时不能运行的问题(转)
  4. eclipse working sets 视图 解决Other Projects不见问题
  5. Protocol Buffer技术
  6. 连接时出现:Can&amp;#39;t open display: localhost:10.0
  7. docker 容器扩盘
  8. VBA基础知识———常用语句
  9. 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)
  10. hadoop在实现kmeans算法——一个mapreduce实施
  11. 利用未文档化API:RtlAdjustPrivilege 提权实现自动关机
  12. shiro进行散列算法操作
  13. trs.getElementsByTagName is not a function 出现原因及解决办法
  14. 给pdf文件添加防伪水印logo(附工程源码下载)
  15. 避免’sudo echo x &gt;’ 时’Permission denied’
  16. 3.建造者模式(Builder)
  17. VS2010添加虚拟机发布的WebService引用
  18. Curator的cluster,实现多节点数据共享
  19. 如何使用JDBC连接Mysql数据库
  20. Django框架之models和不依赖Qquery的ajax请求

热门文章

  1. Map写入的顺序 输出地顺序ZT
  2. PHP中的文件上传
  3. 完美解决方案,可排除DATASET不支持System.Nullable错误
  4. WPF Step By Step 系列 - 开篇 &#183;
  5. [数据结构]KMP小结
  6. 脚本语言&amp;&amp; Performance Testing
  7. Visual Studio 2010 单元测试
  8. Shell 条件表达式汇总
  9. Day01_JAVA语言基础第一天
  10. qemu源码架构