命令行运行Python脚本时传入参数的三种方式详解

下面是“命令行运行Python脚本时传入参数的三种方式详解”的攻略。

命令行传参的三种方式

Python脚本中的参数可以通过命令行进行传递,共有3种方式:

  1. 简单传参方式
  2. 使用argparse库解析参数
  3. 使用click库解析参数

接下来分别详细讲解一下这三种方式。

简单传参方式

关键词:sys.argv

这种方式非常简单,直接在命令行中传递参数,然后在Python脚本中使用sys.argv列表进行读取即可。其中,sys.argv[0]表示Python脚本本身的文件名,sys.argv[1:]表示传入的所有参数。

下面是一个简单的示例代码:

import sys

if __name__ == '__main__':
    if len(sys.argv) > 1:
        print('传入的参数为:', sys.argv[1:])
    else:
        print('未传入参数')

在命令行中输入以下命令:

$ python simple_args.py 1 2 'Hello'

输出结果如下:

传入的参数为: ['1', '2', 'Hello']

使用argparse库解析参数

关键词:argparse

这种方式使用Python的argparse库进行参数解析,可以帮助开发者更方便地定义和管理参数。

下面是一个简单的示例代码:

import argparse

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='使用argparse解析参数')
    parser.add_argument('--name', '-n', help='姓名')
    parser.add_argument('--age', '-a', help='年龄')
    parser.add_argument('--gender', '-g', help='性别')

    args = parser.parse_args()

    print('姓名:', args.name)
    print('年龄:', args.age)
    print('性别:', args.gender)

在命令行中输入以下命令:

$ python argparse_demo.py -n XiaoMing -a 18 -g Male

输出结果如下:

姓名: XiaoMing
年龄: 18
性别: Male

使用click库解析参数

关键词:click

这种方式使用Python的click库进行参数解析,与argparse类似,但是更加简单易用。

下面是一个简单的示例代码:

import click

@click.command()
@click.option('--name', '-n', help='姓名')
@click.option('--age', '-a', help='年龄')
@click.option('--gender', '-g', help='性别')
def main(name, age, gender):
    print('姓名:', name)
    print('年龄:', age)
    print('性别:', gender)

if __name__ == '__main__':
    main()

在命令行中输入以下命令:

$ python click_demo.py -n XiaoMing -a 18 -g Male

输出结果如下:

姓名: XiaoMing
年龄: 18
性别: Male

到这里,三种传参方式的简单示例代码已经详细讲解完毕。通过学习这三种方式,可以让开发者更加高效地处理Python脚本中的参数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:命令行运行Python脚本时传入参数的三种方式详解 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 是否可以使用字典理解在 python 中反转字典

    【问题标题】:is it possible to reverse a dictionary in python using dictionary comprehension是否可以使用字典理解在 python 中反转字典 【发布时间】:2023-04-06 02:26:01 【问题描述】: 我想使用字典推导来反转字典 key, value 对,但如果新字典有…

    Python开发 2023年4月6日
    00
  • Python ini文件常用操作方法解析

    Python ini文件常用操作方法解析 ini文件是一种常见的配置文件格式,它通常用于存储应用程序的配置信息。Python提供了ConfigParser模块,可以方便地读取和写入ini文件。本文将详细讲解Python ini文件常用操作方法,包括读取ini文件、写入ini文件、修改ini文件等。 读取ini文件 使用ConfigParser模块可以方便地读…

    python 2023年5月15日
    00
  • python定义函数如何判断年份是否为闰年

    首先,判断一个年份是否为闰年的规则是: 能被4整除却不能被100整除的是闰年; 能被400整除的同样是闰年。 接下来我们来看一下在python中如何定义函数来判断年份是否为闰年。 定义函数 以下是一个简单的判断闰年的函数示例: def is_leap_year(year): """ 判断一个年份是否为闰年 :param year…

    python 2023年6月3日
    00
  • Python中的通函数numpy.ufunc详解

    Python中的通函数numpy.ufunc详解 什么是ufunc? ufunc是universal function的缩写,翻译过来是“通用函数”。它是一个能够对ndarray执行元素级别操作并产生新ndarray的函数。简而言之,它就是numpy提供的一组对于ndarray中元素进行逐元素操作的函数。 ufunc的功能和分类 ufunc的作用是对ndar…

    python 2023年6月5日
    00
  • 读取许多 csv 文件并使用 python 将其写入编码为 utf8

    【问题标题】:Read many csv file and write it to encoding to utf8 using python读取许多 csv 文件并使用 python 将其写入编码为 utf8 【发布时间】:2023-04-05 23:04:01 【问题描述】: 我正在使用 python 代码从许多 csv 文件中读取并将编码设置为 utf…

    Python开发 2023年4月6日
    00
  • 从 Python 返回的 JSON 创建 jquery DataTable

    【问题标题】:Create jquery DataTable from JSON returned by Python从 Python 返回的 JSON 创建 jquery DataTable 【发布时间】:2023-04-01 07:50:01 【问题描述】: 我正在尝试从我从服务器提取数据后创建的 json 构建一个 html 表。 数据似乎以正确的格式…

    Python开发 2023年4月8日
    00
  • 使用Python中的NumPy对Hermite数列进行积分,并在积分常数加入前将结果乘以一个标量

    首先,我们需要了解什么是Hermite数列。Hermite数列是一个特殊的数列,与物理学中的量子力学运动方程、量子谐振子等问题有关。在数学上,它是以赫尔米特(Hermite)的名字命名的。数列的通项公式为: $$H_n(x)=(-1)^ne^{x^2}\frac{d^n}{dx^n} e^{-x^2}$$ 其中, $n$ 为非负整数, $x$ 为实数。接下来…

    python-answer 2023年3月25日
    00
  • 用Python每天自动给女友免费发短信

    下面是用Python每天自动给女友免费发短信的完整攻略。 简介 这个攻略使用Python语言来实现自动给女友免费发短信的功能。其主要原理是通过调用短信接口,将文本内容发送给女友的手机号。本攻略使用的短信接口是基于腾讯云SMS服务。此外,需要注册一个腾讯云账号,并开通短信服务。 步骤 1. 安装依赖库 本次攻略需要安装的依赖库如下: pip install q…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部