vscode 给调试文件加参数

news/2025/1/11 16:39:37/

方法一:使用 args 数组

{"version": "2.0.0","configurations": [{"name": "Adjust Table","type": "python","request": "launch","program": "${workspaceRoot}/adjust_table.py","justMyCode": false,"args": ["--param1", "value1", "--param2", "value2"]}]
}

解释

  • "args": ["--param1", "value1", "--param2", "value2"]
    • args 是一个数组,其中的元素是传递给 adjust_table.py 的命令行参数。在这个例子中,程序启动时将收到 --param1 value1 --param2 value2 这样的参数列表。
    • 你可以根据需要修改这些参数,添加或删除元素,以满足程序的调试需求。

方法二:使用环境变量 env

{"version": "2.0.0","configurations": [{"name": "Adjust Table","type": "python","request": "launch","program": "${workspaceRoot}/adjust_table.py","justMyCode": false,"env": {"PARAM1": "value1","PARAM2": "value2"}}]
}

解释

  • "env": { "PARAM1": "value1", "PARAM2": "value2" }
    • env 是一个对象,允许你设置环境变量。在程序内部,可以通过 os.environ.get("PARAM1")os.environ.get("PARAM2") 来获取这些环境变量的值。
    • 这种方式适用于将一些配置信息通过环境变量传递给程序,而不是作为命令行参数。

方法三:结合 argsenv

{"version": "2.0.0","configurations": [{"name": "Adjust Table","type": "python","request": "launch","program": "${workspaceRoot}/adjust_table.py","justMyCode": false,"args": ["--param1", "${env:PARAM1}", "--param2", "${env:PARAM2}"],"env": {"PARAM1": "value1","PARAM2": "value2"}}]
}

解释

  • "args": ["--param1", "${env:PARAM1}", "--param2", "${env:PARAM2}"]
    • 这里结合了 argsenv${env:PARAM1} 表示从环境变量中获取 PARAM1 的值作为参数传递给程序。
    • 这允许你通过修改环境变量来改变传递给程序的参数,同时也可以在 args 中添加一些固定的参数。

使用说明

  1. 将上述的任何一种配置添加到 .vscode/launch.json 文件中的 configurations 数组中。
  2. 在程序 adjust_table.py 中,对于方法一,可以使用 sys.argv 来获取命令行参数,例如:
import sys
if len(sys.argv) > 1:print(sys.argv[1:])

对于方法二,使用 os.environ 来获取环境变量,例如:

import os
param1 = os.environ.get("PARAM1")
param2 = os.environ.get("PARAM2")
print(param1, param2)

对于方法三,既可以使用 sys.argv 也可以使用 os.environ,根据配置中参数的传递方式来获取相应的信息。

这些方法可以根据你的具体需求灵活运用,例如,你可以根据不同的调试场景,方便地修改参数和环境变量的值,以满足不同的调试要求。


http://www.ppmy.cn/news/1562281.html

相关文章

Node.js——fs(文件系统)模块

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

selenium python 模拟网页登陆,如何快速知道chrome的html元素的xpath

在 Chrome 浏览器中快速获取 HTML 元素的 XPath 路径,可以按照以下步骤操作: ### 使用 Chrome 开发者工具 1. **打开开发者工具**: - 打开目标网页后,可以按 F12 键或右键点击页面元素选择“检查”来打开开发者工具。 2. **定…

凯伦股份中标上海宝冶集团集采一线防水材料招标项目

近日,凯伦股份收到了来自上海宝冶集团有限公司发来的中标通知书,被确定为集采一线防水材料招标项目的中标人,展现出上海宝冶对凯伦股份产品品质、综合服务能力和品牌影响力的高度认可。 上海宝冶集团有限公司(以下简称上海宝冶&am…

Java 泛型的用法

1. 泛型类 泛型类是指在类定义时使用类型参数来指定类的类型。这样可以在类的内部使用这些类型参数来定义字段、方法的返回类型和参数类型。 public class Box<T> {private T t;public void set(T t) {this.t t;}public T get() {return t;} }在这个例子中&#xff0c…

Java线程安全

1. Java的线程安全 Java线程安全&#xff1a;狭义地认为是多线程之间共享数据的访问。Java语言中各种操作共享的数据有5种类型&#xff1a;不可变、绝对线程安全、相对线程安全、线程兼容、线程独立 ① 不可变 不可变&#xff08;Immutable&#xff09; 的对象一定是线程安全…

No one knows regex better than me

No one knows regex better than me 代码分析&#xff0c;传了两个参数zero,first&#xff0c;然后$second对两个所传的参数进行了拼接 好比&#xff1a;?zero1&first2 传入后就是: 12 然后对$second进行了正则匹配&#xff0c;匹配所传入的参数是否包含字符串Yeedo|wa…

计算机网络(二)——物理层和数据链路层

一、物理层 1.作用 实现相信计算机节点之间比特流的透明传输&#xff0c;尽可能屏蔽具体传输介质和物理设备的差异。 2.数据传输单位 比特。 3.相关通信概念 ①信源和信宿&#xff1a;即信号的发送方和接收方。 ②数据&#xff1a;即信息的实体&#xff0c;比如图像、视频等&am…

八万字Java面试高频题目汇总(冲刺春招!)

文章目录 1.计算机网络1.介绍一下TCP/IP五层模型&#xff1f;2.**什么是TCP三次握手、四次挥手&#xff1f;****3.HTTPS和HTTP的区别是什么&#xff1f;**4.**浏览器输入www.taobao.com回车之后发生了什么**&#xff1f;1.URL解析&#xff0c;对URL进行编码&#xff0c;之后查看…