VScode、argparse库、lauch.json中args参数

argparse库是用于接受从command-lines传来参数的库,即argparse库接受命令台终端中传入的参数,但在VScode中并不需要从command-lines来配置参数。VScode通过launch.json文件配置args参数,并通过
在python文件中引入sys模块调用参数

args1=sys.argv[3]

launch.json文件:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Python Program",
            "type": "python",
            "request": "launch",
            "program": "${workspaceRoot}\\associate.py",
            "console": "integratedTerminal",
            "args": [
                "first_file","${workspaceRoot}/rgb.txt",
                "second_file","${workspaceRoot}/depth.txt",
                "--first_only","True",
                "--offset","0.0",
                "--max_difference","0.02"
            ]
        }
    ]
}

Python文件:

import argparse  
import sys
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#type是要传入的参数的数据类型  help是该参数的提示信息
parser.add_argument('first_file', help='first text file (format: timestamp data)',default='G:\\Code_Repository_lichenwgei\\rgbd_dataset_freiburg1_xyz\\rgb.txt')
parser.add_argument('second_file', help='second text file (format: timestamp data)',default='G:\\Code_Repository_lichenwgei\\rgbd_dataset_freiburg1_xyz\\depth.txt')
print(sys.argv[3])
args = parser.parse_args()

上面的代码表面sys.argv[3]可正常调用args参数,但是args = parser.parse_args()运行时就会保存,说明argparse库不接受launch.json文件传入的参数
https://code.visualstudio.com/docs/editor/debugging#_launch-configurations
介绍了launch.json文件配置

argparse库使用要从控制台直接输入参数

python2 associate.py ./rgb.txt ./depth.txt > assoaication.txt

在这里插入图片描述

### 关于 VSCode 中 `launch.json` 的配置 #### 配置概述 为了使 Visual Studio Code (VSCode) 能够调试程序,需要创建并编辑 `.vscode/launch.json` 文件。此文件定义了启动和调试应用程序所需的设置。 #### 创建 `launch.json` 当首次尝试运行或调试项目时,如果不存在该文件,IDE 将提示用户选择环境来自动创建模板文件[^3]。 #### 基本结构 一个典型的 C/C++ 项目的 `launch.json` 可能看起来像这样: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/filename.exe", // 或者 .out,取决于操作系统 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: g++.exe build active file" } ] } ``` 上述 JSON 对象中的字段解释如下: - `"version"` 定义了配置版本。 - `"configurations"` 是一个数组,其中可以包含多个不同的调试配置对象。 - 每个配置对象都有特定名称 (`"name"`) 和类型 (`"type"`), 请求模式(`"request"`)通常为 `"launch"` 表示启动新进程进行调试。 - `"program"` 字段指定了要执行的目标二进制路径。 - `"preLaunchTask"` 设置了一个预构建任务,在实际启动之前会调用这个任务完成编译工作[^2]。 #### Python 示例对比 对于 Python 开发而言,`launch.json` 则相对简单得多: ```json { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": false } ] } ``` 这段配置允许开发者直接通过集成终端运行当前打开的 Python 文件,并且可以选择只跟踪自己的代码逻辑而不进入标准内部实现细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值