mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
364 字
1 分钟
python学习笔记
2026-04-27

python学习笔记#

parse_arguments#

parse_arguments 通常指用 Python 标准库 argparse 来解析命令行参数,让你的脚本像专业工具一样通过命令行接收输入,而不是硬编码在代码里。

关键组件对照表#

写法含义示例
"input"位置参数,必须按顺序提供python script.py file.las
"--name"可选参数,命令行里用 --name value--voxel-size 0.05
"-o", "--output"短别名-o--output 等价-o result.txt
type=float自动类型转换,传错会报错--threshold 1.5
default=0.05用户没给时的默认值
choices=[...]限定可选值,防止乱输入--method voxel
action="store_true"不需要跟值,加了就是 True--visualize
nargs="+"接收多个值,变成列表--files a.las b.las
required=True虽然是 -- 开头,但强制必填

argparse.ArgumentParser(...) 括号里的这些叫 构造参数 / 初始化参数,用来配置整个命令行解析器本身的行为。

参数名作用常用值人话解释
prog程序名称prog="carriage_tool"帮助信息里显示的程序名,默认是文件名
description程序描述description="车厢点云分割与体积计算"显示在帮助信息最开头
epilog结尾备注epilog="作者: Fred"显示在帮助信息末尾
usage自定义用法usage="%(prog)s [options] <file>"覆盖默认的用法提示格式
formatter_class帮助信息排版argparse.RawDescriptionHelpFormatter控制 -h 打印出来的样式
parents继承其他解析器parents=[parent_parser]把另一个解析器的参数复制过来
add_help是否自动加 -hTrue(默认) / False设为 False 后,python script.py -h 就失效了
prefix_chars前缀字符"-"(默认) / "+" / "-"一般不动,决定参数前缀用什么符号

示例#

import argparse
def parse_arguments():
parser = argparse.ArgumentParser(
description="车厢点云分割与体积计算",
formatter_class=argparse.ArgumentDefaultsHelpFormatter # 打印帮助时显示默认值
)
# 数据输入
parser.add_argument("input_path", help="输入点云文件 (.las/.laz/.ply)")
parser.add_argument("--ground-height", type=float, default=None,
help="地面高度Z值(自动检测则留空)")
# 分割参数
parser.add_argument("--cluster-thresh", type=float, default=0.5,
help="欧式聚类距离阈值(米)")
parser.add_argument("--min-points", type=int, default=1000,
help="车厢有效点云最小点数")
# 体积参数
parser.add_argument("--volume-method", choices=["voxel", "slice", "convex_hull"],
default="voxel", help="体积计算方法")
parser.add_argument("--slice-step", type=float, default=0.1,
help="切片法步长(米),仅method=slice时生效")
# 输出控制
parser.add_argument("--save-segmented", action="store_true",
help="是否保存分割后的车厢点云")
parser.add_argument("--output-dir", "-o", default="./output",
help="结果输出目录")
return parser.parse_args()
# 使用
args = parse_arguments()
# args.input_path, args.cluster_thresh, args.volume_method ...
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

python学习笔记
https://fredsblog-2dc.pages.dev/posts/note-py/
作者
Fredzhe
发布于
2026-04-27
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时