一、Python sys 模块

“sys” 是 “system”,是一个系统模块,该模块提供了一些接口,用户访问python解释器自身使用和维护的变量,同时模块中还提供了一些函数,而我们今天要讲解的 argv 就是其中一个函数。

二、sys.argv

这里sys 就相当于一个模块,而argv就是模块里的一个函数。

“argv” 即 “argument value” 是一个列表对象,其中存储的是在命令行调用 python 脚本是提供的 “命令行参数”。

这里重点理解这句话,我们举例来说明:

先看一个简单的例子:

import sys
print(sys.argv[0])

我们看一下输出结果:

这里我们将 文件命名为 test.py 放在我们的系统目录下,在cmd下执行:python test.py



可以看到结果是:被调用的脚本文件名或全路径

这里需要强调的是:argv[0] 是 被调用的脚本文件名或全路径。

那我们改一下程序,再试试:

import sys
print(sys.argv[0])
print(sys.argv[1])

这里我们将代码改成 argv[1]

此时我们输入 python test.py hello 看一下运行结果:

看到这,是不是有的小伙伴就明白啦,sys.argv[]其实就是一个列表。

那我们再试一个,既然sys.argv是一个列表,我们就让它从第三个开始输出:

import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2:])

这次我们输入的是 1 2 3 4 5 ,我们期望从列表的第三个元素开始输出,结果也很我们期望的一样,讲到这里,sys.argv就被我们彻底搞懂了。

总结:

sys.argv[]是一个列表

sys.argv[0]是被调用的脚本文件名或全路径

sys.argv[1:]之后的元素就是我们从程序外部输入的,而非代码本身的,想要看到它的效果,就要将程序保存,从外部运行程序并给参数,这也是我们在cmd里面运行的原因。

最新文章

  1. ArcGIS Engine开发之地图基本操作(1)
  2. Mac OS平台下应用程序安装包制作工具Packages的使用介绍
  3. 使用CallerMemberName简化InotifyPropertyChanged的实现
  4. 解决osg路径与文件名中的中文字符问题
  5. python练习程序(c100经典例13)
  6. 三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)
  7. [LeetCode#277] Find the Celebrity
  8. eclipse打开时提示:failed to create the java virtual machine
  9. ubuntu sendmail配置发送邮件
  10. nginx+php负载均衡集群环境中的session共享方案梳理
  11. 开源文件服务器file-service介绍
  12. idea 配置普通web项目
  13. AWT初步— 事件处理模型
  14. 小程序分享转发功能实现demo
  15. VCG(VisualCodeGrepper)安装使用教程
  16. 深入理解java虚拟机---Class文件(二十)
  17. 筛选法求n以内所有的素数
  18. 详解Java多线程编程中LockSupport类的线程阻塞用法
  19. Android程序员必备精品资源
  20. sqlserver中创建链接服务器图解教程

热门文章

  1. 4.6:HBase操作实验
  2. 网络编程 - OSI七层协议详解
  3. Window系统的mysql数据库定时备份
  4. LeetCode HOT 100:子集(简单易懂的回溯)
  5. Hugging News #0106
  6. ionic+vue+capacitor系列笔记--capacitor3.X和2.X+android自定义capacitor的JSbridge插件注册与使用(不同版本注册方式不同,返回值格式也不同,使用方法也不同)
  7. 前端防错以及好用小tips指南总结
  8. 对象的反序列化流_ObjectInputStream类
  9. JSP第一次作业
  10. redis 6种过期策略的具体方式