python命令行传递参数的两种方式

 更新时间:2024年05月11日 10:31:01   作者:我爱Python数据挖掘  
python在命令行运行.py文件时,如何在命令行传递参数给运行程序,python默认提供了sys模块的系统参数属性实现接收命令行中的外部参数,本文给大家介绍了python命令行传递参数的两种方式,需要的朋友可以参考下

引言

python在命令行运行.py文件时,如何在命令行传递参数给运行程序,python默认提供了sys模块的系统参数属性实现接收命令行中的外部参数。

另一种则是通过argparse模块实现的,argparse模块可以实现事先对命令行参数的初始化,更加的便于命令行参数的管理。

1、sys.argv参数

sys.argv的命令行参数获取方式比较的简单,直接通过提取sys.argv的值就可以获取到其对应的参数。

比如,下面写一个hello_world.py模块,并且在其中引用了命令行参数。

import sys

print('Hi ' + str(sys.argv[1]) + ', welcome to Hello World!')

直接在命令行执行当前的.py文件,执行命令应该是这样的。

python hello_world.py Siri

这时我们预期的结果应该是下面这样的。

# Hi Siri, welcome to Hello World!

执行后的结果和预期的运行结果是一模一样的。

在运行时,有一个不好的地方时,若是在命令行没有传递足够的参数,则会直接抛出下面的异常。

2、argparse参数

使用argparse模块,有一个好处就是事先对需要在命令行传递的参数做一个初始化的赋值,若是命令行没有值的时候则可以使用默认值来赋值。

并且argparse模块可以通过参数构造器ArgumentParser实现对参数的管理,看起来一目了然。

import argparse

# 初始化参数构造器
parser = argparse.ArgumentParser()

# 在参数构造器中添加两个命令行参数
parser.add_argument('--name', type=str, default='Siri')
parser.add_argument('--message', type=str, default=',Welcom to Python World!')

# 获取所有的命令行参数
args = parser.parse_args()

print('Hi ' + str(args.name) + str(args.message))

同样的,创建一个hello_python.py文件,来运行上述代码块,看一下执行效果。

python hello_python.py

可以发现在未添加命令行的参数传递后,默认使用的是我们构造器中添加的参数默认值来进行赋值的。

接下来,若是我们在命令行中再次对参数进行重新赋值是怎样的效果。

python hello_python.py --name Laow  --message Hello_World

到此这篇关于python命令行传递参数的两种方式的文章就介绍到这了,更多相关python命令行传递参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 使用指定的网卡发送HTTP请求的实例

    Python 使用指定的网卡发送HTTP请求的实例

    今天小编就为大家分享一篇Python 使用指定的网卡发送HTTP请求的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 在python 脚本下解析json数据

    在python 脚本下解析json数据

    这篇文章主要介绍了在python 脚本下解析json数据,json数据包括JSONObject和JSONArray,下文关于其解析的内容需要的小伙伴可以参考一下
    2022-04-04
  • 使用python-opencv读取视频,计算视频总帧数及FPS的实现

    使用python-opencv读取视频,计算视频总帧数及FPS的实现

    今天小编就为大家分享一篇使用python-opencv读取视频,计算视频总帧数及FPS的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python爬虫解决验证码的思路及示例

    python爬虫解决验证码的思路及示例

    这篇文章主要介绍了python爬虫解决验证码的思路及示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python实现繁体中文与简体中文相互转换的方法示例

    Python实现繁体中文与简体中文相互转换的方法示例

    这篇文章主要介绍了Python实现繁体中文与简体中文相互转换的方法,涉及Python基于第三方模块进行编码转换相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • python人工智能遗传算法示例解析

    python人工智能遗传算法示例解析

    这篇文章主要为大家介绍了python人工智能遗传算法示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python虚拟环境venv实战过程详解

    Python虚拟环境venv实战过程详解

    Python的虚拟环境可以帮助我们在同一台机器上,同时使用不同的Python版本和库,方便管理和开发,下面这篇文章主要给大家介绍了关于Python虚拟环境venv的相关资料,需要的朋友可以参考下
    2023-06-06
  • Python全角与半角之间相互转换的方法总结

    Python全角与半角之间相互转换的方法总结

    全角与半角转换在处理汉语语料中会经常出现,这里分别说明汉字、数字、字母的unicode编码范围,下面这篇文章主要给大家介绍了关于Python全角与半角之间相互转换的相关资料,需要的朋友可以参考下
    2022-03-03
  • Python中的命令行参数解析工具之docopt详解

    Python中的命令行参数解析工具之docopt详解

    docopt 是一个用来解析命令行参数的工具,当想要在 Python 程序后面附加参数时,就不需要再为此而发愁了。下面这篇文章主要介绍了Python中命令行参数解析工具之docopt的相关资料,介绍的非常详细,需要的朋友们下面来一起看看吧。
    2017-03-03
  • 用python生成(动态彩色)二维码的方法(使用myqr库实现)

    用python生成(动态彩色)二维码的方法(使用myqr库实现)

    今天小编就为大家分享一篇用python生成(动态彩色)二维码的方法(使用myqr库实现),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论