当前位置: 首页 > news >正文

Python学习笔记--认识sys.argv

sys.argv 是 Python 的一个内置模块 sys 中的一个属性。它是一个列表,包含了从命令行传递给脚本的参数。

例如,如果你有一个名为 script.py 的脚本,并且你从终端窗口命令行这样运行它:

>>>python script.py arg1 arg2 arg3

那么在 script.py 中,sys.argv 的值将会是:['script.py', 'arg1', 'arg2', 'arg3']

sys.argv[0] 通常是脚本的名称(路径,如果它不是位于当前目录下的话)。其余的元素则是按顺序从命令行传递给脚本的参数。如下:

  • sys.argv[0] 的值是 'script.py'
  • sys.argv[1] 的值是 'arg1'
  • sys.argv[2] 的值是 'arg2'
  • sys.argv[3] 的值是 'arg3'

可以使用这些参数来定制你的脚本的行为。例如,你可以检查 sys.argv[1] 来决定执行哪种操作或处理哪种数据。script.py文件如下,在窗口中执行:

import sysdef run():# 如果运行脚本没有参数,提醒、退出if len(sys.argv) == 1:print(f'运行代码{sys.argv[0]},缺少参数。')print(f'终端执行python程序文件用法: python {sys.argv[0]} {{参数名字(可以多个,空格间隔)}}')sys.exit()# 打印脚本执行的参数print(f"程序文件名:{sys.argv[0]} ")for index,value in enumerate(sys.argv):print(f"----sys.argv[{index}] : {value}")if __name__ == '__main__':run()

(py312) liuyf@liuyf-PC:~/LyfPyLearning$ python script.py
运行代码script.py,缺少参数。
终端执行python程序文件用法: python script.py {参数名字(可以多个,空格间隔)}


(py312) liuyf@liuyf-PC:~/LyfPyLearning$ python script.py  'liuzx'  'liuyf'  '恭喜发财'
程序文件名:script.py
----sys.argv[0] : script.py
----sys.argv[1] : liuzx
----sys.argv[2] : liuyf
----sys.argv[3] : 恭喜发财
(py312) liuyf@liuyf-PC:~/LyfPyLearning$

相关文章:

Python学习笔记--认识sys.argv

sys.argv 是 Python 的一个内置模块 sys 中的一个属性。它是一个列表,包含了从命令行传递给脚本的参数。 例如,如果你有一个名为 script.py 的脚本,并且你从终端窗口命令行这样运行它: >>>python script.py arg1 arg2 …...

【C++】入门基础

前言:C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。熟悉C语言之后,对C学习有一定的帮助,因此从今天开始们将进入C的学习。 💖 博主CSDN主页:…...

Nginx与keepalived实现集群

提醒一下:下面实例讲解是在mac虚拟机里的Ubuntu系统演示的; Nginx与keepalived实现集群实现的效果 两台服务器都安装Nginx与keepalived: master服务器的ip(192.168.200.2) backup服务器的ip(192.168.200.4) 将 master服务器Nginx与keepalive…...

初识MQRabbitMQ快速入门

一、同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不能…...

javaMailSender 发送邮件,基于Spring Boot

目录 引入依赖 配置文件配置 具体代码 MultipartFile 转 File 工具类 引入依赖 <!--邮件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><!--日…...

【汇总】解决Spring-Web与Spring-WebFlux冲突

【汇总】解决Spring-Web与Spring-WebFlux冲突 问题发现问题解决问题一&#xff1a;The bean requestMappingHandlerMapping, defined in class path resource [org/springframework/web/reactive/config/DelegatingWebFluxConfiguration.class],问题二&#xff1a;The Java/XML…...

maven 依赖配置补充

依赖配置补充 依赖范围 import 管理依赖最基本的办法是继承父工程&#xff0c;但是和 Java 类一样&#xff0c;Maven 也是单继承的。如果不同体系的依赖信息封装在不同 POM 中了&#xff0c;没办法继承多个父工程怎么办&#xff1f;这时就可以使用 import 依赖范围。 典型案…...

Pandas ------ 向 Excel 文件中写入含有合并表头的数据

Pandas ------ 向 Excel 文件中写入含有合并表头的数据 推荐阅读引言正文 推荐阅读 Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据 引言 这里给大家介绍一下如何向 Excel 中写入带有合并表头的数据。 正文 import pandas as pddf1 pd.D…...

kafka summary

最近整体梳理之前用到的一些东西&#xff0c;回顾Kafka的时候好多东西都忘记了&#xff0c;把一些自己记的比较模糊并且感觉有用的东西整理一遍并且记忆一遍&#xff0c;仅用于记录以备后续回顾 Kafka的哪些场景中使用了零拷贝 生产者发送消息&#xff1a;在 Kafka 生产者发送…...

【新书推荐】2.6节 原码、反码和补码

回顾上一节中&#xff0c;我们讲解了整数的编码规则。 无符号整数编码规则&#xff1a;无符号整数全部都是正数&#xff0c;是什么就存什么。 有符号整数编码规则&#xff1a;有符号整数最高有效位为0是正数&#xff0c;最高有效位为1是负数。 本节内容&#xff1a;原码、反…...

docker 网络及如何资源(CPU/内存/磁盘)控制

安装Docker时&#xff0c;它会自动创建三个网络&#xff0c;bridge&#xff08;创建容器默认连接到此网络&#xff09;、 none 、host docker网络模式 Host 容器与宿主机共享网络namespace&#xff0c;即容器和宿主机使用同一个IP、端口范围&#xff08;容器与宿主机或其他使…...

安装 nvm

前言&#xff1a; nvm 即 node 版本管理工具 (node version manager)&#xff0c;好处是方便切换 node.js 版本。 通过将多个 node 版本安装在指定路径&#xff0c;然后通过 nvm 命令切换时&#xff0c;就会切换我们环境变量中 node 命令指定的实际执行的软件路径。 使用场景…...

Redis解决方案:NOAUTH Authentication required(连接jedis绑定密码或修改redis密码)

Redis解决方案&#xff1a;NOAUTH Authentication required&#xff08;连接jedis绑定密码或修改redis密码&#xff09; Java使用jedis连接redis时出现错误NOAUTH Authentication required 一、问题报错和原因 本地设置了redis的密码&#xff0c;但在远程连接时并没有输入密…...

多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资料 效…...

如何实现无公网IP实现远程访问MongoDB文件数据库

&#x1f4d1;前言 本文主要是如何实现无公网IP实现远程访问MongoDB文件数据库的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x…...

华为防火墙USG6000V1的NAT实验

实验拓扑&#xff1a; 之前实验做过&#xff0c;可以翻找之前的博客&#xff0c;各设备ip和接口已配好&#xff0c;均可可ping通防火墙。 实验要求&#xff1a; 一.生产区在工作时间内可以访问dmz区域&#xff0c;仅可以访问http服务器。 二.办公区全天可以访问dmz区域&…...

spark-flink设计思想之吸星大法-1

Spark和Flink都是大数据处理框架&#xff0c;它们的设计思想有一些不同之处。以下是对它们设计思想的简要对比&#xff1a; 数据模型和计算模型&#xff1a; Spark&#xff1a;Spark使用弹性分布式数据集&#xff08;RDD&#xff09;作为其核心数据结构。RDD是只读的、不可变的…...

力扣1312. 让字符串成为回文串的最少插入次数

动态规划 思路&#xff1a; 通过插入字符构造回文串&#xff0c;要想插入次数最少&#xff0c;可以将字符串 s 的逆序 s 进行比较找出最长公共子序列&#xff1b;可以先分析&#xff0c;字符串 s 通过插入得到回文串 ps&#xff0c;其中间的字符应该不会变化&#xff1a; 若 s…...

qemu的安装

1、简介 QEMU&#xff08;Quick EMUlator&#xff09;是一个开源的处理器模拟器&#xff0c;它可以在一种硬件平台上模拟另一种硬件平台&#xff0c;从而运行各种不同的操作系统。QEMU通过动态二进制翻译来实现高性能的模拟&#xff0c;这使得它可以在接近原生性能的速度下运行…...

myql入门

目录 安装修改密码学习资料个人git仓库文章视频官网 安装 #移除以前的mysql相关 sudo apt remove --purge mysql-\* #安装mysql sudo apt install mysql-server mysql-client #查看是否启动 systemctl status mysql #手动启动 systemctl start mysql #查看mysql版本 mysql --v…...

终极D2DX宽屏补丁:让经典暗黑破坏神2在现代PC上完美重生

终极D2DX宽屏补丁&#xff1a;让经典暗黑破坏神2在现代PC上完美重生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还…...

C++定时器避坑指南:线程安全、资源泄漏与时间轮参数怎么调?一次讲清楚

C定时器避坑指南&#xff1a;线程安全、资源泄漏与时间轮参数调优实战 在分布式系统和高并发场景中&#xff0c;定时器如同系统的心跳机制&#xff0c;其稳定性直接决定服务可靠性。去年某电商平台大促期间&#xff0c;由于定时任务堆积导致的雪崩效应&#xff0c;造成近千万损…...

Qdrant客户端库实战:从向量数据库连接到生产级应用开发

1. 项目概述&#xff1a;从向量数据库到应用落地的桥梁如果你最近在折腾大模型应用&#xff0c;或者想给自己的产品加上一个“智能大脑”&#xff0c;那你大概率绕不开一个词&#xff1a;向量数据库。简单来说&#xff0c;它就像一个能理解“意思”的超级搜索引擎&#xff0c;不…...

【C语言】printf格式化输出:你真的理解“四舍五入”的陷阱吗?

1. 从printf的"四舍五入"陷阱说起 那天我在调试一个财务计算程序时&#xff0c;发现金额显示总差那么几分钱。比如3.145元应该显示为3.15&#xff0c;但程序输出却是3.14。这让我想起刚学C语言时踩过的坑——printf的格式化输出并不像数学课教的四舍五入那样简单。 先…...

树莓派扩展板EYESPI Pi Beret:简化硬件连接,加速原型开发

1. 项目概述&#xff1a;为什么我们需要EYESPI Pi Beret&#xff1f;玩树莓派的朋友&#xff0c;尤其是喜欢捣鼓屏幕和传感器的&#xff0c;肯定都经历过那个阶段&#xff1a;面对一堆杜邦线&#xff0c;对照着屏幕驱动板的引脚定义&#xff0c;一个个数着树莓派的GPIO针脚&…...

药物发现自动化:FEP计算工作流引擎faah的设计原理与实战

1. 项目概述&#xff1a;一个面向药物发现的自动化工作流引擎 最近在药物研发的自动化工具领域&#xff0c;一个名为 kiron0/faah 的项目引起了我的注意。这并非一个简单的脚本集合&#xff0c;而是一个设计精巧、旨在为药物发现中的自由能微扰计算提供端到端自动化解决方案的…...

Nextra:基于Next.js的现代化文档站构建利器

1. 项目概述&#xff1a;为什么Nextra能成为文档站构建的“瑞士军刀”&#xff1f;如果你最近在寻找一个构建技术文档、博客或个人知识库的工具&#xff0c;大概率会听到“Nextra”这个名字。它不是一个独立框架&#xff0c;而是一个基于Next.js的静态站点生成器&#xff0c;专…...

DIY蓝牙游戏手柄:基于Bluefruit EZ-Key的免编程硬件制作全攻略

1. 项目概述与设计思路几年前&#xff0c;我还在用有线手柄在电脑上打游戏&#xff0c;那根线总是缠来缠去&#xff0c;桌面也乱糟糟的。后来市面上无线手柄选择多了&#xff0c;但总感觉少了点自己动手的乐趣&#xff0c;功能也千篇一律。直到我开始接触像Adafruit Bluefruit …...

量子误差缓解:Bhattacharyya距离与保形预测的应用

1. 量子噪声与误差缓解的核心挑战在当前的NISQ&#xff08;Noisy Intermediate-Scale Quantum&#xff09;时代&#xff0c;量子计算机面临的最大障碍就是噪声和误差问题。这些噪声主要来源于量子比特与环境之间的相互作用、门操作的不完美性以及测量误差等。以一个典型的超导量…...

大语言模型分步推理与自我验证框架:提升AI生成准确性的工程实践

1. 项目概述&#xff1a;当AI学会“自我验证”最近在开源社区里&#xff0c;一个名为“Lets-Verify-Step-by-Step”的项目引起了我的注意。这个项目直指当前大语言模型&#xff08;LLM&#xff09;应用中的一个核心痛点&#xff1a;如何让模型在生成复杂答案时&#xff0c;能像…...