Python中sys.argv用法图文详解

 更新时间:2022年12月08日 16:48:43   作者:ys.journey  
很多刚刚接触python的人来说,对于python中sys.argv[]往往不是很明白,下面这篇文章主要给大家介绍了关于Python中sys.argv用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、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[1])

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

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

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

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

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

看一下运行结果:

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

总结:

sys.argv[]是一个列表

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

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

提升:

既然已经搞明白了 sys.argv[]的基本用法,那我们再测试一下:

import sys
for index,arg in enumerate(sys.argv):
    print("第%d个参数是: %s" % (index, arg))

这次输入: a b c d e

我们可以看到输出结果是将 脚本文件名和我们输入的参数依次输出。

到此这篇关于Python中sys.argv用法的文章就介绍到这了,更多相关Python sys.argv用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 实现format进制转换与删除进制前缀

    python 实现format进制转换与删除进制前缀

    这篇文章主要介绍了python 实现format进制转换与删除进制前缀的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python django生成迁移文件的实例

    python django生成迁移文件的实例

    今天小编就为大家分享一篇python django生成迁移文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python中单引号、双引号和三引号具体的用法及注意点

    Python中单引号、双引号和三引号具体的用法及注意点

    这篇文章主要给大家介绍了关于Python中单引号、双引号和三引号具体的用法及注意点的相关资料,Python中单引号、双引号、三引号中使用常常困惑,想弄明白这三者相同点和不同点,需要的朋友可以参考下
    2023-07-07
  • 正确理解Python中if __name__ == ''__main__''

    正确理解Python中if __name__ == ''__main__''

    今天小编就为大家分享一篇关于正确理解Python中if __name__ == '__main__' ,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 使用Python的Twisted框架编写非阻塞程序的代码示例

    使用Python的Twisted框架编写非阻塞程序的代码示例

    Twisted是基于异步模式的开发框架,因而利用Twisted进行非阻塞编程自然也是必会的用法,下面我们就来一起看一下使用Python的Twisted框架编写非阻塞程序的代码示例:
    2016-05-05
  • Python中字典的缓存池

    Python中字典的缓存池

    这篇文章主要介绍了Python中字典的缓存池,字典的缓存池采用数组实现的,并且容量也是80个,下文详细介绍需要的小伙伴可以参考一下
    2022-05-05
  • python实现简单反弹球游戏

    python实现简单反弹球游戏

    这篇文章主要为大家详细介绍了python实现简单反弹球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 详解Python实现按任意键继续/退出的功能

    详解Python实现按任意键继续/退出的功能

    在学Python时在总想实现一个按任意键继续/退出的程序(受.bat毒害), 奈何一直没有写,今天抽时间写出来了,下面分享给大家,有需要的可以参考借鉴。
    2016-08-08
  • Numpy之布尔索引的实现

    Numpy之布尔索引的实现

    本文主要介绍了Numpy之布尔索引的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 如何基于python实现脚本加密

    如何基于python实现脚本加密

    这篇文章主要介绍了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论