首页 > 编程语言 >Python 中 sys.argv 用法详解

Python 中 sys.argv 用法详解

时间:2023-10-15 10:46:25浏览次数:47  
标签:Python argv sys python 模块 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[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,argv,sys,python,模块,print,我们
From: https://www.cnblogs.com/ltkekeli1229/p/17765332.html

相关文章

  • python自带工具 venv 简明教程
    在Python中,代码可能依赖特定版本的包,如果代码a和代码b依赖包c的不同版本,这个时候就会导致a和b无法共存,也就是a和b存在冲突。用venv解决办法就是,创建2个不同的虚拟环境来分别存放a和b,这样就可以解决问题了。以这个问题为例,简单说明如何使用venv,需要特别说明的是:v......
  • 解决VS Code/Code insiders右键python代码无法“转到定义”问题
    最近怀疑自己用了个假的VSCode,同门的能丝滑跳转定义、跳转引用,自己的偏偏不行(合着这么爽的功能我从来没享受到(。﹏。*)),网上各种教程试了个遍都不行,最后自己摸索出了解决方案。记录在此备忘:按以下顺序依次Check:确保安装这些插件:Python、Pylance、IntelliCode(用远程服......
  • Python_regular expression基础
     ......
  • ESP32-MicroPython without Thonny
    whywitoutThonny?最近闲来在ESP32上用MicroPython捣鼓些小玩具,见很多教程推荐使用Thonny。欣然往之,竟是个这,实在不能认同。Thonnyesp32-MicroPython开发的入门最佳实践?no!刷入固件使用esptool.py将MicroPython刷入ESP32开发板涉及几个步骤。1.安装esptool如果你还......
  • python项目加密
     https://blog.csdn.net/weixin_38649779/article/details/131911893 sourcedefenderhttps://dev.to/richard_scott/encryption-for-protecting-python-source-code-4ckg https://zhuanlan.zhihu.com/p/54297880https://github.com/echoechoin/spython/   https://......
  • 深入理解 python 虚拟机:GIL 源码分析——天使还是魔鬼?
    深入理解python虚拟机:GIL源码分析——天使还是魔鬼?在目前的CPython当中一直有一个臭名昭著的问题就是GIL(GlobalInterpreterLock),就是全局解释器锁,他限制了Python在多核架构当中的性能,在本篇文章当中我们将详细分析一下GIL的利弊和GIL的C的源代码。选择GIL......
  • python20
    题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。程序分析:请参照程序Python练习实例14。程序源代码:实例#!/usr/bin/python#-*-coding:UTF-8-*-fromsysimportstdoutforjinrange(2,1001):k=[]n=-1s=jfor......
  • Python 练习实例21
    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。程......
  • Python入门系列16-os模块
    一、os库介绍os库提供了操作系统功能接口函数,可以操作系统相关变量、文件和目录相关操作、路径相关操作。二、系统变量相关操作1、os.name:返回操作系统类型importosprint(os.name)输出:nt2、os.environ返回系统的环境变量importosprint(os.environ)3、os.sep:返回系统路径......
  • Python入门系列16-os模块
    一、os库介绍os库提供了操作系统功能接口函数,可以操作系统相关变量、文件和目录相关操作、路径相关操作。二、系统变量相关操作1、os.name:返回操作系统类型importosprint(os.name)输出:nt2、os.environ返回系统的环境变量importosprint(os.environ)3、os.sep:返回系统路径......