转载自:https://www.cnblogs.com/liangmingshen/p/8906148.html

sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。

1 #test.py
2
3 import sys
4 a=sys.argv[0]
5 print(a)

 将test.py保存在c盘的根目录下。

 在程序中找到 ‘运行’->点击->输入"cmd"->回车键   进入控制台命令窗口(如下图),先输入cd c:\   (作用是将命令路径改到c盘根目录),然后输入test.py运行我们刚刚写的程序:

得到的结果是C:\test.py,这就是0指代码(即此.py程序)本身的意思。

然后我们将代码中0改为1 :

a=sys.argv[1]

保存后,再从控制台窗口运行,这次我们加上一个参数,输入:test.py what

得到的结果就是我们输入的参数what,看到这里你是不是开始明白了呢。

那我们再把代码修改一下:

a=sys.argv[2:]

保存后,再从控制台窗台运行程序,这次多加几个参数,以空格隔开:

test.py a b c d e f

得到的结果为[‘b’, ’c’, ’d’, ’e’, ’f’]

  应该大彻大悟了吧。Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该 将程序保存了,从外部来运行程序并给出参数。

最新文章

  1. C# 导入Excel到DataSet中
  2. php修改指定文件的指定内容
  3. C#异步批量下载文件
  4. tp框架 中的时间 查询范围
  5. JVM-class文件完全解析-魔数
  6. VS2012如何更新下载TFS上面的代码到本地
  7. c#中字符串显示上标和下标解决办法
  8. 又一道软通动力7K月薪面试题——银行业务调度系统
  9. hdu1151+poj2594(最小路径覆盖)
  10. spring redis入门
  11. JavaScript中Object的总结
  12. BZOJ_2124_等差子序列_线段树+Hash
  13. 手写事件代理函数 (Delegated function)
  14. require.js简单入门
  15. Sql语句基础练习(一)
  16. 企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装
  17. sed 命令简介
  18. git拉取远程分支到本地
  19. Java网络编程--InetAdress类
  20. 关于cc -o命令

热门文章

  1. Solr搜索结果高级设置
  2. 2019-2020-1 20199303《Linux内核原理与分析》第八周作业
  3. Logon Trigger Example (C++)
  4. Ubuntu 之 win10更新ubuntu启动项消失
  5. Linux系统应用管理:增加普通用户(密码管理等)
  6. 【linux三剑客】grep命令
  7. 第三方库PyYAML
  8. RMI原理揭秘之远程对象
  9. XML--XML作用
  10. Vector shrink 请求容器降低其容量和size匹配 shrink_to_fit();