Python命令行运行文件与argparse参数解析实战

Finn
Finn
发布时间:2026-10-11| 2人浏览过
原创

本文介绍如何在Python中通过命令行运行脚本,并深入讲解如何使用argparse模块解析外部参数。涵盖add_argument定义、类型转换、默认值设置及parse_args的使用,附带完整代码示例与执行结果分析。

Python命令行运行文件

在终端或命令行环境中执行Python脚本,首先需要定位到目标文件所在的目录。随后,在命令行提示符下输入 python 命令,后接文件名即可执行该脚本。例如,若存在名为 hello.py 的文件,其内容如下:

print("Hello, Python")

执行命令后,终端将输出脚本的运行结果:

Solo-mac:Desktop solo$ python hello.py
Hello, Python

使用argparse模块获取外部参数

为了使脚本更具灵活性,可以使用Python标准库中的 argparse 模块来接收和处理命令行传入的参数。该模块允许开发者定义参数名称、类型、默认值及帮助信息,并在脚本运行时解析这些输入。

核心步骤与代码示例

以下代码展示了如何使用 argparse 定义两个参数 --test1 和 --test2,并解析命令行输入:

import argparse 
 
parser = argparse.ArgumentParser("Description.") # ————1————
parser.add_argument('--test1', type=str, default="1", help="Test1 help.") # ————2————
parser.add_argument('--test2', type=float, default=2.1, help="Test2 help.") # ————2————
args = parser.parse_args() # ————3————

print(args)
test1, test2 = args.test1, args.test2 # ————4———— 
print(type(test1), test1, test1 + " add test") 
print(type(test2), test2, test2 + 100)

关键操作解析

  1. 初始化解析器:通过 argparse.ArgumentParser("Description.") 创建解析器对象,可选传入描述信息。
  2. 定义参数:使用 add_argument 方法添加参数。参数名建议以两个减号(--)开头,中间避免使用数字、字母或下划线以外的符号。通过 type 指定参数传入后的转换类型(如 str 或 float),default 设置默认值,help 定义 --help 输出的描述信息。注意,default 最好直接定义为 type 指定的类型,以避免类型转换错误。
  3. 解析参数:调用 parser.parse_args() 获取命令行参数,返回一个命名空间对象。此步骤必须在 add_argument 之后执行,否则无法接收参数。
  4. 获取参数值:通过命名空间对象的属性方式(如 args.test1)获取参数值,并进行后续处理。

类型转换与输出分析

代码中定义了 --test1 为字符串类型,--test2 为浮点数类型。运行脚本时,即使字符串参数不加引号,也会被转换为字符串;即使浮点数参数带引号,也会被转换为数字。例如:

  • test1 的类型为 str,可直接进行字符串拼接操作。
  • test2 的类型为 float,可直接进行数学运算。

通过上述步骤,可以灵活地接收和处理命令行参数,提升Python脚本的实用性和可扩展性。

以上就是Python命令行运行文件与argparse参数解析的详细内容,更多关于Python命令行操作与参数处理的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。