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

如何向Python脚本传递命令行参数,实现base_url动态配置?

实现动态传递base_url参数的两种方法

嗨,这个需求很常见,我给你两种实用的实现方式,你可以根据自己的场景选择:

方法一:用sys.argv直接解析键值对参数

这种方式最直接,完美匹配你想要的调用格式,适合参数不多的简单场景:

在你的file.py中写入以下代码:

import sys

# 用来存储解析后的参数
params = {}

# 遍历命令行传入的参数(跳过第一个脚本名参数)
for arg in sys.argv[1:]:
    # 按第一个等号拆分键和值,避免值里包含等号的情况
    key, value = arg.split('=', 1)
    # 移除值两端的单/双引号(如果用户加了的话)
    clean_value = value.strip('\'"')
    params[key.strip()] = clean_value

# 获取base_url参数
base_url = params.get('base_url')

if base_url:
    print(f"成功获取base_url:{base_url}")
    # 这里可以写你需要用base_url执行的逻辑
else:
    print("请传入base_url参数,格式示例:python file.py base_url='http://google.com'")

调用时直接用你想要的命令:
python file.py base_url='http://google.com'

运行后,base_url变量就会被设为http://google.com,你可以在脚本里直接使用它。

方法二:用argparse模块(更规范的专业写法)

如果你的脚本以后可能需要扩展更多参数,argparse会是更好的选择——它支持参数校验、自动生成帮助信息,非常适合复杂脚本。

代码示例:

import argparse

# 创建参数解析器,添加脚本描述
parser = argparse.ArgumentParser(description="需要传入base_url的业务脚本")
# 添加base_url参数,设置为必填,并给出帮助提示
parser.add_argument('--base_url', required=True, help="请输入目标base_url,例如:http://google.com")

# 解析命令行参数
args = parser.parse_args()

# 直接使用解析后的base_url
print(f"当前使用的base_url是:{args.base_url}")
# 后续业务逻辑直接用args.base_url即可

调用时使用更规范的命令格式:
python file.py --base_url http://google.com
或者带引号也完全没问题:
python file.py --base_url 'http://google.com'

如果用户忘记传参数,脚本会自动提示错误;运行python file.py -h还能看到详细的帮助说明,体验更友好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:29:54