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} 岁。")
相关推荐
Blossom.1184 分钟前
把AI“撒”进农田:基于极值量化与状态机的1KB边缘灌溉决策树
人工智能·python·深度学习·算法·目标检测·决策树·机器学习
Red Car4 分钟前
如何向文件夹内所有PDF增加水印
python·pdf
Q_Q51100828514 分钟前
python+uniapp基于微信小程序团购系统
spring boot·python·微信小程序·django·uni-app·node.js·php
SpiderPex16 分钟前
论MyBatis和JPA权威性
java·mybatis
小猪咪piggy33 分钟前
【微服务】(1) Spring Cloud 概述
java·spring cloud·微服务
java1234_小锋33 分钟前
TensorFlow2 Python深度学习 - 循环神经网络(LSTM)示例
python·rnn·深度学习·tensorflow2
lkbhua莱克瓦2435 分钟前
Java基础——面向对象进阶复习知识点8
java·笔记·github·学习方法
m0_7369270435 分钟前
Spring Boot自动配置与“约定大于配置“机制详解
java·开发语言·后端·spring
测试老哥1 小时前
Postman环境变量设置全攻略
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
AlphaFinance1 小时前
Windows下Vscode连接到WSL的方法
ide·vscode·编辑器