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

如何编写Python脚本将VS Code的launch.json转换为终端命令?

问题:VS Code launch.json转终端命令的Python脚本报错修复

需求:编写Python脚本,将VS Code的launch.json片段转换为终端可执行命令,用于和非VS Code用户沟通。

原代码:

import json

launch_json = '''
        {
            "name": "temp",
            "type": "python",
            "request": "launch",
            "program": "script.py",
            "console": "integratedTerminal",
            "justMyCode": false,
            "args": ["abcd",
                     "--log", "log.txt"],
            "env": {"CUDA_VISIBLE_DEVICES":"0"},
        }
'''

d = json.loads(launch_json)
command = d["program"] + " " + " ".join(d["args"])
print(command)

运行报错:

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 12 column 9 (char 344)

解决方法

1. 修复JSON格式错误

报错的直接原因是两处JSON格式问题:

  • 原字符串里的"是HTML转义的双引号,JSON解析器无法识别,需替换为原生双引号"
  • env键值对末尾的逗号是多余的,JSON不允许最后一个键值对后加尾随逗号,必须删除

2. 完善命令生成逻辑

原代码只拼接了程序和参数,遗漏两个关键部分:

  • Python解释器前缀:因为launch.json的type是python,终端命令需要以python(或python3)开头
  • 环境变量:launch.json里的env配置需要以VAR=VALUE的形式拼接到命令最前面

修正后的完整脚本

import json

launch_json = '''
        {
            "name": "temp",
            "type": "python",
            "request": "launch",
            "program": "script.py",
            "console": "integratedTerminal",
            "justMyCode": false,
            "args": ["abcd",
                     "--log", "log.txt"],
            "env": {"CUDA_VISIBLE_DEVICES":"0"}
        }
'''

# 解析JSON配置
config = json.loads(launch_json)

# 生成环境变量前缀:VAR1=VALUE1 VAR2=VALUE2
env_part = " ".join([f"{key}={value}" for key, value in config.get("env", {}).items()])

# 生成命令主体:python program.py arg1 arg2...
cmd_parts = ["python", config["program"]] + config.get("args", [])
command_body = " ".join(cmd_parts)

# 拼接完整命令(如果有环境变量则前置)
full_command = f"{env_part} {command_body}".strip()

print(full_command)

输出结果

运行后会生成符合终端执行的完整命令:

CUDA_VISIBLE_DEVICES=0 python script.py abcd --log log.txt

内容的提问来源于stack exchange,提问作者adroit.levees.0r

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 06:54:32