python vscode带参数调试

添加调试配置文件

或者打开命令面板输入debug: add configuration

选择带参数的python文件

可以在launch文件中

json 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "Python 调试程序: 包含参数的当前文件",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": ["Alice","27"],
        },
        {
            "name": "Python 调试程序: 当前文件",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
    ]
}

参数说明

  • type:标识要使用的调试器类型
    对于 Python 代码,将此设置保留为 python
  • request:指定开始调试的模式

    常见的调试模式有以下两种:

  • launch :在 program 中指定的文件上启动调试器

  • attach :将调试器附加到已经运行的进程,在远程调试中会使用到

  • program:提供 python 程序的入口模块(启动文件)的绝对路径,还可以依赖工作空间根目录的相对路径( ${workspaceFolder}

    值 ${file} 通常在默认配置中使用,使用编辑器中当前活动的文件。

  • module:提供指定要调试的模块名称的功能

    类似于在命令行运行时的 -m 参数。

  • python:指向用于调试的 Python 解释器的完整路径

    如果未指定,此设置默认为为您的工作区选择的解释器,这相当于使用值 ${command:python.interpreterPath} 。

    要使用不同的解释器,请在调试配置的 python 属性中指定其路径。

    或者,可以使用在每个平台上定义的自定义环境变量来包含要使用的 Python 解释器的完整路径,以便不需要其他文件夹路径。

  • 如果需要将参数传递给 Python 解释器 ,可以使用 pythonArgs 属性.

    pythonArgs:向 Python 解释器传递参数

    使用语法 "pythonArgs": ["", "",...] 指定要传递给 Python 解释器的参数。

  • args:指定要传递给 Python 程序 的参数

    由空格分隔的参数字符串的每个元素都应包含在引号内,例如:

  • console:指定在不修改 redirectOutput 的默认值的情况下如何显示程序输出

    具体有以下三种选择:

    "internalConsole":VS Code 调试控制台。如果 redirectOutput 设置为 False,则不显示任何输出

    "integratedTerminal" (default) :VS Code 集成终端。如果 redirectOutput 设置为 True,输出也会显示在调试控制台中

    "externalTerminal":单独的控制台窗口。如果 redirectOutput 设置为 True,输出也会显示在调试控制台中

  • purpose:对 "运行" 按钮进行配置

    将 purpose 选项设置为 debug-test ,定义在 VS Code 中调试测试时应使用该配置。

    但是,将该选项设置为 debug-in-terminal 定义了仅在访问编辑器右上角的 "运行 Python 文件" 按钮时才应使用该配置(无论该按钮提供的是 "运行 Python 文件" 还是 "调试 Python 文件" 选项)。

  • cwd:指定调试器的当前工作目录

    这是代码中使用的任何相对路径的基本文件夹。如果省略,则默认为 ${workspaceFolder} (在 VS Code 中打开的文件夹)

  • redirectOutput:重定向输出

    当设置为 true (internalConsole 的默认值)时,使调试器将程序的所有输出打印到 VS Code 调试输出窗口中。

    如果设置为 false (integratedTerminal 和 externalTerminal 的默认值),程序输出不会显示在调试器输出窗口中。

    使用 "console": "integratedTerminal" 或 "console": "externalTerminal" 时通常会禁用此选项,因为无需在调试控制台中复制输出。

  • justMyCode:仅限调试用户编写的代码

    当省略或设置为 true (默认值)时,仅限调试用户编写的代码。设置为 false 还可以启用标准库函数的调试。

  • env:设置除系统环境变量之外的可选环境变量

    为调试器进程设置除调试器始终继承的系统环境变量之外的可选环境变量。这些变量的值必须以字符串形式输入。

  • envFile:包含环境变量定义的文件的可选路径

我的程序

python 复制代码
if "__name__==__main__":
    if len(sys.argv)<3:
        print("no enough parameter")
        sys.exit(1) # 非零退出码
    name = sys.argv[1]
    age = sys.argv[2]
    
    try:
        age=int(age)
    except ValueError:
        print("age is number")
        sys.exit(1)
        # 使用参数  
    print(f"你好, {name}!")  
    print(f"{name} 的年龄是 {age} 岁。")
相关推荐
今天吃饺子19 小时前
如何用MATLAB调用python实现深度学习?
开发语言·人工智能·python·深度学习·matlab
萧鼎19 小时前
Python Mahotas 图像处理库:高性能计算机视觉工具
图像处理·python·计算机视觉
未若君雅裁19 小时前
LeetCode 51 - N皇后问题 详解笔记
java·数据结构·笔记·算法·leetcode·剪枝
破烂pan19 小时前
lmdeploy.pytorch 新模型支持代码修改
python·深度学习·llm·lmdeploy
失散1320 小时前
架构师级别的电商项目——2 电商项目核心需求分析
java·分布式·微服务·架构·需求分析
麦麦大数据20 小时前
F047 vue3+flask微博舆情推荐可视化问答系统
python·flask·知识图谱·neo4j·推荐算法·舆情分析·舆情监测
MediaTea20 小时前
Python 第三方库:Flask(轻量级 Web 框架)
开发语言·前端·后端·python·flask
Kuo-Teng20 小时前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
小七mod21 小时前
【Spring】Spring Boot自动配置的案例
java·spring boot·spring·自动配置·源码·ioc·aop