在 Python 中,sys.argv 是一个列表,包含从命令行传递给脚本的参数。它的索引规则如下:

sys.argv 的参数顺序

  1. sys.argv[0]

    • 总是脚本自身的名称(即被执行的 Python 文件路径)。

    • 例如:若运行 python /home/user/script.py arg1 arg2,则 sys.argv[0] 是 "/home/user/script.py"

  2. sys.argv[1]

    • 第一个 用户传递的实际参数(即命令行中脚本名后的第一个值)。

    • 上例中 sys.argv[1] 是 "arg1"

  3. 后续参数

    • sys.argv[2]sys.argv[3]... 依次对应命令行中的第二个、第三个参数。

  4. sys.argv 的组成

    • sys.argv[0]:脚本文件名(例如 "script.py"

    • sys.argv[1]:第一个用户传入的参数

    • sys.argv[2]:第二个用户传入的参数

    • ...(依此类推)

  5. len(sys.argv) < 2 的含义

    • len(sys.argv) 计算的是 脚本名 + 用户参数的总个数

    • < 2 表示:

      • 如果总参数个数 小于 2(即只有脚本名 sys.argv[0],没有用户参数),则条件成立。

      • 此时会触发错误提示(如 print("参数不足!")),并退出脚本。

python 中 sys.argv 传参的更多相关文章

  1. Python中 sys.argv[]的用法

    Python中 sys.argv[]的用法 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上 ...

  2. 31 Python中 sys.argv[]的用法简明解释(转)

    Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...

  3. Python中 sys.argv的用法简明解释

    Python中 sys.argv[]的用法简明解释 sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白.因为我们从外部取得 ...

  4. 9.python中sys.argv[]用法说明

    在python中sys.argv[]是用来获取命令行输入的参数的(参数和参数之间空格区分),sys.argv[0]表示代码本身文件路径,所以从参数1开始,表示获取的参数了 举例说明:创建一个程序名为t ...

  5. python中给函数传参是传值还是传引用

    首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...

  6. Python中的引用传参

    Python中函数参数是引用传递(注意不是值传递).对于不可变类型,因变量不能修改,所以运算不会影响到变量自身:而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量. 引用传参一: >& ...

  7. python中sys.argv[]的使用

    sys.argv[]主要用于程序从外部获取参数.其参数个数可以是多个,组建成一个列表(list). 几个简单示例如下: fun_test.py: #!/usr/bin/env python # -*- ...

  8. Python中 sys.argv[]的用法实操

    使用sys.argv[]首先要调用模块sys import sys 通俗说,这个东西就是取代了input的功能,input是用pycharm上,而argv[]是用在命令行上 也就是window 上的小 ...

  9. python中sys.argv[]用法

    sys.argv[]的作用: 在运行python文件的时候往文件里面传递参数. 从函数外部获取到变量值 import sys arg = sys.argv[0] args = sys.argv[:] ...

  10. Python中sys.argv[]的用法

    类似bash中的$0, $1, $2... sys.argv[0]:文件名 sys.argv[1]:第一个参数 sys.argv[2]:第二个参数 import sys print "The ...

随机推荐

  1. MySQL保姆级安装教程(附资源包+5分钟极速配置+环境变量调试技巧)

    mysql简介 MySQL 是一种开源关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司于 1995 年开发,现由 Oracle 公司维护.它采用客户端-服务器架构,支持多线程处理和高 ...

  2. Seata源码—9.Seata XA模式的事务处理

    大纲 1.Seata XA分布式事务案例及AT与XA的区别 2.Seata XA分布式事务案例的各模块运行流程 3.Seata使用Spring Boot自动装配简化复杂配置 4.全局事务注解扫描组件的 ...

  3. php伪随机数爆破

    php伪随机数爆破 涉及到的函数为mt_rand() mt_rand(min, max) 返回min到max之间的伪随机数,如果参数缺省,则返回0到RAND_MAX之间的伪随机数. 不同于常规的伪随机 ...

  4. STM32在使用Clion平台开发时调试失败 SystemClock_Config 返回 HAL_ERROR

    问题记录 在尝试使用Clion在STM32平台上开发调试时,需要通过OpenOCD结合ST-Link等调试器进行烧录和调试.但通过STM32CubeMX生成代码后,发现出现以下现象: 程序能够正常编译 ...

  5. React-Native开发鸿蒙NEXT-图片上传

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  6. AI赋能金融风控:基于机器学习的智能欺诈检测系统实战教程

    引言 在数字化转型浪潮中,金融欺诈手段呈现智能化.隐蔽化趋势.传统规则引擎已难以应对复杂多变的欺诈模式,而机器学习技术通过自动学习数据特征,正在重塑金融风控体系.本文将基于Python生态,以信用卡欺 ...

  7. win10系统 wsappx消耗内存导致死机

    问题描述:win10系统开机后,wsappx内存占用率一路飙升,直至电脑蓝屏,手动kill后,过一会死灰复燃. 问题解决:win+R输入 regedit 跳转注册表编辑器,找到 HKEY_LOCAL_ ...

  8. Jenkins自动化部署-----持续交付

    前言: 感谢之前带领过我的leader,让我能够知道什么是好的开发方法. 在很早之前就接触过敏捷开发.什么是敏捷开发,简单来说就是让软件可靠地,快速地发布出来的一种开发方法和技巧. 而敏捷开发中有许多 ...

  9. 转:基于Redis实现延时队列

    摘要:使用 sortedset,拿时间戳作为score,消息内容作为 key 调用 zadd 来生产消息,消费者用 zrangebyscore 指令获取 N 秒之前的数据轮询进行处理.    前段时间 ...

  10. java XML字符串和bean实体类互转

    pom引入依赖 <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artif ...