首页 > 其他分享 >sys.argv的用法

sys.argv的用法

时间:2023-02-27 18:33:28浏览次数:44  
标签:python argv 用法 sys 模块 print 我们

一、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里面运行的原因。

标签:python,argv,用法,sys,模块,print,我们
From: https://www.cnblogs.com/andy0816/p/17161430.html

相关文章

  • php laravel artisan nxos:install Error Call to undefined function Illumina
    命令/www/server/php/81/bin/phpartisannxos:install错误信息ErrorCalltoundefinedfunctionIlluminate\Filesystem\symlink()atvendor/laravel/frame......
  • C++ 截图、操作鼠标移动左键单击、操作键盘、ocr识图、获取system函数的结果
    ocr识别是使用tesseract来搞得,因为tesseract的编译太麻烦了,就通过system直接命令行识别了在通过读取命令行界面的字符获取结果的。//键盘和对应按键值的映射std::map<w......
  • 虹科新闻|虹科与iX systems正式建立合作伙伴关系
    近日,虹科与美国iXsystems公司达成战略合作,虹科正式成为iXsystems公司在中国区域的认证授权代理商。未来,虹科将携手iXsystems,共同致力于提供企业级存储解决方案。虹科及iXsys......
  • React Hooks用法大全
    ReactHooks用法大全 前言在React的世界中,有容器组件和UI组件之分,在ReactHooks出现之前,UI组件我们可以使用函数,无状态组件来展示UI,而对于容器组件,函数组件......
  • flutter系列之:Navigator的高级用法
    目录简介namedroutes给namedroute传参数从Screen返回值向Screen传值总结简介上篇文章我们讲到了flutter中navigator的基本用法,我们可以使用它的push和pop方法来进行Rou......
  • javascript 高级编程 之 Array 用法总结
    引用类型是一种数据结构,用于将数据和功能联系起来。创建对象的方式:1.new操作符vararray=newArray();2.字面量表示法创建vararray=[];Array检测数组:检测数组......
  • log4j:WARN Please initialize the log4j system prop
    用eslipse做数据库JAR时显示如下提示:log4j:WARNPleaseinitializethelog4jsystemproperly.原因是没有对log4j这个jar进行文件配置。将log4j.properties文件放在src目录......
  • 发现oracle10gSYSAUX空间没有了进行处理
      今天用户反馈sap有些因为有问题,所以寻找一下原因:1、用db02看空间情况 看这里好像空间是没有了,99%使用掉了2、用toad看空间也是类型情况,所以确实这个表空间没有了3、检......
  • (转)Android之getSystemService
    getSystemService是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。传入的Name返回......
  • 一文学会ftrace的基础用法
    0.官网https://www.kernel.org/doc/html/latest/trace/ftrace.html1.ftrace是什么ftrace是linux原生的一个trace工具,最早在2.6.27引入,跟踪能力强大,可以调试和分析诸如......