You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何在终端运行脚本时直接传入整数参数

命令行传入整数参数实现方案

方案1:轻量实现(无额外依赖,适合单参数场景)

直接用Python标准库自带的sys模块读取启动参数,不需要安装任何第三方包,是最简单的实现方式。
sys.argv会按顺序存储启动命令里的所有内容,所有值默认均为字符串类型:

  • 索引0固定是当前运行的脚本文件名
  • 索引1开始就是命令后跟随的传入参数

示例代码(保存为code.py):

import sys

if __name__ == "__main__":
    # 校验是否传入参数
    if len(sys.argv) < 2:
        print("调用格式错误,正确用法:python code.py <整数参数>")
        sys.exit(1)
    # 把传入的字符串参数转成整数,加异常捕获避免传非整数内容报错
    try:
        target_num = int(sys.argv[1])
    except ValueError:
        print("参数错误:传入的值必须是整数")
        sys.exit(1)

    # ---------------
    # 这里写你原本的业务逻辑,直接使用target_num即可
    print(f"已读取传入的整数:{target_num}")
    # ---------------

写完后直接在终端执行python code.py 4就能直接把4作为参数传入脚本,不需要进入交互输入环节。
批量运行的时候可以直接配合终端循环实现自动传参,比如bash环境下执行:

for i in {1..10}; do python code.py $i; done

就能自动依次传入1到10批量运行10次,完全不需要手动交互输入。


方案2:规范实现(适合多参数场景,自带校验和帮助文档)

如果后续需要扩展更多参数,推荐用Python标准库自带的argparse模块,它会自动完成参数类型校验、帮助文档生成,不需要自己写冗余的判断逻辑。
示例代码(保存为code.py):

import argparse

if __name__ == "__main__":
    # 初始化参数解析器
    parser = argparse.ArgumentParser(description="接收整数参数运行的脚本")
    # 定义需要接收的整数参数
    parser.add_argument("num", type=int, help="需要传入的整数值")
    # 读取解析参数
    args = parser.parse_args()
    target_num = args.num

    # ---------------
    # 这里写你原本的业务逻辑,直接使用target_num即可
    print(f"已读取传入的整数:{target_num}")
    # ---------------

这个方案的优势:

  • 自动做类型校验,传入非整数时会输出清晰的错误提示
  • 执行python code.py -h会自动生成标准化的用法帮助文档
  • 后续扩展可选参数、多参数的时候不需要重构参数读取逻辑

注意事项

  • 命令行读取到的参数默认都是字符串格式,必须显式转换为int类型后再做数值计算,否则会触发类型错误
  • 两种方案均使用Python标准库实现,不需要安装任何第三方包,兼容所有Python3版本

内容的提问来源于stack exchange,提问作者Ele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:57:26