Python脚本添加参数的几种方法

Python脚本参数传递:从基础到工程实践 参数传递是编程中的基础概念,指在程序运行时从外部向程序内部传递数据的技术。其核心原理是通过命令行、环境变量或配置文件等渠道,将运行时信息注入程序执行上下文。在Python生态中,参数传递技术直接影响脚本的复用性和工程价值,特别是在数据处理、自动化运维等场景下尤为关键。通过sys.argv实现基础参数获取,利用argparse模块构建健壮的命令行接口,结合环境变量管理敏感配置,构成了Python参数处理的三大支柱方案。现代工程实践中,还会采用JSON结构化参数、Pydantic类型验证等进阶技术,确保参数传递 阅读详情

用python添加参数都是用的input函数,不能添加默认值也不能输入help提示。

最近发现了2个更好用的库分享给大家。

一、使用input库。

这个使用很简单,就不过多描述了。

def test(a,b):
    print(f"{a}+{b}=" + str(int(a)+int(b)) )

if __name__ == '__main__':
    a = input("input a:")
    b = input("input b:")
    test(a,b)

实际调用:
在这里插入图片描述

二、使用argparse库。

argparse是python自带库,不用额外安装。

这个库定义参数麻烦,使用起来简单。

import argparse

parser = argparse.ArgumentParser(description='一个简单的加法')
parser.add_argument('a', type=int,help='第1个加数')
parser.add_argument('b',  type=int,help='第2个加数')

def test(a,b):
    print(f"{a}+{b}=" + str(a+b))

if __name__ == '__main__':
    args = parser.parse_args()
    test(args.a, args.b)

在cmd里执行python脚本

python 123.py

输入下面语句,可以看到后面接什么参数,每个参数是什么意思:

python 123.py -h

输入下面语句,直接调用:

python 123.py 2 3 

在这里插入图片描述

三、使用fire库

这个库需要pip自行添加。

定义参数和使用都很简单,强烈推荐。

import fire
def test(a=1,b=1):
  return(f"{a}+{b}="+str(a+b))
#Python小白学习交流群:153708845  
if __name__ == '__main__':
  fire.Fire(test)

在cmd里执行python脚本

python 123.py

输入下面语句,使用默认参数:

python 123.py

输入下面语句,使用指定参数:

python 123.py 2 3

在这里插入图片描述

Java 中调用 Python 脚本的几种方法 使用是在 Java 中调用 Python 脚本最直接、简单的方法,适用于大多数基本场景。根据具体需求(如性能、数据复杂度、交互频率),也可以选择 Jython、GraalVM、Web 服务或消息队列等更高级的集成方案。 阅读详情

相关推荐

python中List添加、删除元素的几种方法

一、python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作)。 在Python中,向List添加元素,方法有如下4种方法(append(),extend(),insert(), +加号)。 1.append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。此元素如果是一个list,那么这个list将作为一个整体进行追

m0_67575344的博客 1万+

python 运行脚本添加参数

通常情况下第一个位置参数为"-“开头,第二个位置参数是”–“开头,第一个是第二个的简写形式。但实际上,两个位置参数调换任意位置也是可以的。注:当”-“和”–“同时存在时,获取参数需以”–"开头的参数为准。:输入 -h 时对参数的解释。:对选项作用的简单描述。:命令行输入的内容应该被转换的类型。:当命令行没有输入值时赋予默认值。

ch_atu的博客 3096

Python传入参数的几种方法

Python唯一支持的参数传递方式是『共享传参』(call by sharing) 多数面向对象语言都采用这一模式,包括Ruby、Smalltalk和Java(Java的引用类型是这样,基本类型按值传递) 共享传参是指函数的各个形式参数获得实参中各个引用的副本;也就是说,函数内部的形参是实参的别名(alias) 这种方案的结果是,函数可能会修改作为参数传入的可变对象,但是无法修改那些对象的标识(即...

Python这样学 3230

命令行运行Python脚本时传入参数--3种方法

1. 把运行的python脚本名字打印出来。 Step1:将下面代码命名为t1.py import sys print(sys.argv[0]) Step2: 在terminal 下运行 python t1.py 会显示t1.py 2. Reference: 向python脚本传递参数_chengxuyuanyonghu的博客-优快云博客_python 参数传递 命令行运行Python脚本时传入参数的三种方式_Daniel2333的博客-优快云博客_python 命令行传参...

helloasimo的博客 5万+

关于使用c#调用python脚本文件,脚本文件需要传递参数

最近工作中需要干这个事,网上搜了搜资料,改了改,基本是这样 static void Main(string[] args) { string[] strArr;//参数列表 string sArguments = @"Pythons.py";//这里是python的文件名字 RunPythonScript(sArguments, "-u", strArr); }public static voi

root19881111的专栏 7315

Bartender 2021破解版安装教程:手把手教你从下载到激活(附详细步骤图)

本文详细介绍了BarTender 2021专业版的安装与高效应用指南,从基础配置到高级条码设计,帮助用户快速掌握标签设计与打印技术。内容涵盖安装步骤、标签模板创建、数据连接与批量打印技巧,以及高级功能如安全策略与自动化集成,适合零售、物流、制造等行业用户提升工作效率。

p4q5r6s7t的博客 2663

python脚本传参

如果一个 ndarray 有 个元素,那么它的 reshape(-1, 1, 2) 方法将返回一个 shape = (n, 1, 2) 的 ndarray.普通参数或flag参数选项参数的名称或标签,例如 epochs 或者 -e, --epochs。metavar: 在 usage 说明中的参数名称,对于必选参数,默认就是参数名称,对于可选参数默认是全大写的参数名称。dest: 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.表示第几个参数,用来获取指定参数。

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 1828

使用spacy规则化提取自然语言文本信息

1. 安装spacy pip install spicy spicy还需要载入文本库,使用pip的下载方式: python3 -m spacy download en_core_web_sm 但是很有可能因为网络问题下载速度非常缓慢,所以可以选择到github上去直接下载(注意和自己的spacy版本匹配):github下载链接 下载*.tar.gz文件即可。 然后切换到下载路径, pip install en_core_web_sm-3.1.0.tar.gz 2. spacy的一些基础用法 使用spa

六六六六神的博客 1819

执行Python脚本的时候提供参数

在Python中,执行脚本时提供参数是一个常见的需求,这可以通过Python的`sys.argv`列表来实现。`sys.argv`是一个从命令行读取参数的列表,其中`sys.argv[0]`是脚本的名称,而`sys.argv[1:]`包含了传递给脚本的所有参数。你可以根据需要修改`main`函数中的逻辑,以执行更复杂的操作。假设你已经将上面的脚本保存为`example.py`,你可以通过命令行(终端或命令提示符)来执行它,并提供一些参数。下面是一个简单的例子,展示了如何接收命令行参数并在脚本中使用它们。

琳琳的博客 968

智能座舱(七)——智能音频系统

本文剖析车载智能音频系统的核心技术,聚焦音响、功放、麦克风和广播收音机四大组件。音响系统通过多声道布局(如23扬声器阵列)结合动态声场校准算法,实现三维声场覆盖;功放系统采用高效D类技术,支持OTA音效调整和故障自愈;麦克风阵列运用波束成形技术实现精准拾音,并保障隐私安全;广播系统融合数字与网络技术提升音质。核心在于硬件标准化与算法差异化的协同,未来将朝集成化、AI个性化方向发展。

DC20160101的博客 1575

ComfyUI-controlnet控制出图

提供加载预处理器节点。

Bu2n的博客 5497

python编程:如何添加usage使用说明)

在使用argparse时,你还可以自定义帮助文本,包括usage字符串。# 添加其他参数...# 你的程序逻辑main()在这个例子中,usage字符串被自定义为,其中%(prog)s是一个特殊字符串,它会被替换为你的脚本名。总的来说,argparse是处理命令行参数和生成usage说明的首选方法,因为它既强大又灵活。

hs977986979的博客 1113

LingBot-Depth 2.0:突破机器人视觉瓶颈的深度估计技术解析

深度估计作为计算机视觉的核心技术,旨在从二维图像中恢复三维空间信息,其原理基于立体匹配、结构光等几何计算方法。这项技术的价值在于为机器人、自动驾驶等系统提供精确的环境感知能力,解决传统深度相机在透明物体、镜面反射等复杂场景下的失效问题。通过大规模数据训练和创新的视觉基座模型,深度估计技术在边缘清晰度、细小物体识别等方面实现突破,广泛应用于机器人导航、工业质检等场景。蚂蚁集团灵波科技发布的LingBot-Depth 2.0模型,将训练数据规模从300万扩展至1.5亿,在深度补全精度和复杂场景鲁棒性上显著提升,

weixin_31100517的博客 245

运行python脚本时传入参数的几种方法

如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式。 python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 python script.py -gpus=0,1,2 --batch_size=10 这三种格式对应不同的参数解析方式,分别为sys.argv...

weixin_43692357的博客 3787

GEE高阶应用——如何绘制2000-2022年土地利用变化轨迹时序图

土地利用变化是指在一定时间范围内,土地利用类型和结构发生的变化。时序变化是指这种变化随时间的推移而发生的序列变化。土地利用变化轨迹的时序变化具体介绍如下:首先,土地利用变化轨迹的时序变化体现在土地利用类型的演变上。在过去的几十年里,随着人口的增加、经济的发展和城市化的推进,土地利用类型发生了显著的变化。传统的农田逐渐减少,而城市、工业、交通、居住等用地的面积不断扩大。同时,随着环境保护意识的提高,生态保护用地、森林、湿地等绿色用地的面积也在增加。

此星光明博客 1114

【GameFramework框架】二、GameFramework框架介绍

Game Framework框架是由E大(Ellan Jiang)开源的一款基于Unity的通用游戏框架。Game Framework框架提供了游戏开发中常用的框架基础模块,将基础模型进行了封装,在资源管理和资源更新方面比较完善,可以大大加大开发进程,加快开发速度,并且还在在此此处上保证产品质量。实在是代码开发、框架学习、编程进阶、居家旅行哦不对,是提升自己的最佳实践。Game Framework框架。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 5854

Python字典添加元素的几种方法

这篇文章主要介绍了Python之字典添加元素的几种方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着微点阅读小编来一起学习学习吧1. 字典是另一种可变容器模型,每个键值对用冒号 (:) 分割,每个键值对之间用逗号 (,) 分割,整个字典由花括号 {}包围;2. 字典中的键一般是唯一的,如果重复则后面的一个键值对会覆盖前面的,不过字典的值不需要唯一;3. 值可以取任意数据类型,但键必须是不可变类型,例如字符串,数字或元组,但不能是列表因为列表可变。

hdxx2022的博客 3万+

51单片机 步进电机正反转控制+Proteus仿真

51单片机 步进电机正反转控制+Proteus仿真 Proteus仿真 实例代码 /*************** ******************/ #include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV[]= { 0x09,0x

perseverance51博客 2788

python执行shell脚本的几种方法

前言:Python作为一门脚本语言,有时候需要与shell命令交互式使用,在Python中提供了很多的方法可以调用并执行shell脚本,本文做一个简单的总结。本文的开发环境是Ubuntu16.04. 一、os.system(“command”) 这是python自带的执行shell命令的方法,其中最后一个0是这个命令的返回值,为0表示命令执行成功。但是使用system()无法将执行的结果保...

MIss-Y的博客 14万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

运行python脚本时传入参数的几种方式

如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式。 python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 python script.py -gpus=0,1,2 --batch_size=10 这三种格式对应不同的参数解析方式,分别为sys.argv、argparse、 tf.app.run, 前两者是python自带的功能,后者是tensorflow提供的便捷方

python学习者的博客 4240

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【shell】 shell调用python脚本,并且向python脚本传递参数

文章目录1.shell调用python脚本,并且向python脚本传递参数 1.shell调用python脚本,并且向python脚本传递参数 shell中: #定义变量 para1='' para2='' #调用py脚本,并传递参数 python test.py $para1 $para2 python中: import sys #定义main,接收2个参数 def main(canshu1, canshu2) ..... #通过sys.argv获得入参 main(sys.argv[1], sy

m0_45406092的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

python字典添加元素_Python之字典添加元素的几种方法

本文使用的代码book_dict = {"price": 500, "bookName": "Python设计", "weight": "250g"}第一种方式:使用[]book_dict["owner"] = "tyson"说明:中括号指定key,赋值一个value,key不存在,则是添加元素(如果key已存在,则是修改key对应的value)第二种方式:使用update()方法,参数为字典对象...

weixin_39800875的博客 5406

命令行给python脚本传参数的几种方式

python 命令行参数传递的常用两种方法。简单场景和健全场景

zhuifengxu的博客 4666

运行python脚本时传入参数的几种方式(接收外部参数)

  运行python脚本时传入参数时三种格式对应不同的参数解析方式,分别为sys.argv、argparse、 tf.app.run, 前两者是python自带的功能,后者是tensorflow提供的便捷方式。 1.sys.argv sys模块是很常用的模块, 它封装了与python解释器相关的数据,例如sys.modules里面有已经加载了的 所有模块信息,sys.path里面是PYTHONPATH的内容,而sys.argv则封装了传入的参数数据。 使用sys.argv接收上面第一个命令中包含的参数方式如

weixin_44847326的博客 5万+

python字典键盘添加元素_Python之字典添加元素的几种方法

本文使用的代码book_dict = {"price": 500, "bookName": "Python设计", "weight": "250g"}第一种方式:使用[]book_dict["owner"] = "tyson"说明:中括号指定key,赋值一个value,key不存在,则是添加元素(如果key已存在,则是修改key对应的value)第二种方式:使用update()方法,参数为字典对象...

weixin_39638708的博客 1056
上一篇: 5道Python基础练习题
下一篇: Python遍历的技巧
Python热爱者
博客等级 码龄7年 3059粉丝 1330原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值