首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Argparse调试

Argparse调试
EN

Stack Overflow用户
提问于 2022-03-03 22:11:54
回答 1查看 377关注 0票数 -1

为了简化,下面是调试失败的代码。有两个问题:

  1. 我似乎无法创建允许在调试或非调试模式下传递参数的运行配置。
  2. 此代码总是在调试模式下失败吗? 导入arg解析器= argparse.ArgumentParser() parser.add_argument('filename',type=argparse.FileType('r')) args = parser.parse_args() print("Filename:",args.filename)

下面是运行的示例配置:

代码语言:javascript
复制
        {
            "name": "Python: filetest.py",
            "type": "python",
            "request": "launch",
            "program": 
            "${workspaceFolder}/filetest.py",
            "args": [
                "./samples/blja2.wav"
            ],
            "console": "integratedTerminal"
        }
EN

回答 1

Stack Overflow用户

发布于 2022-03-03 22:49:02

代码语言:javascript
复制
import argparse


def argparse_sample():
    parser = argparse.ArgumentParser()
    parser.add_argument('sample_args', type=argparse.FileType('r'))
    args = parser.parse_args()
    print("File Content: ", args.sample_args.readlines())


if __name__ == '__main__':
    argparse_sample()

因此,如果没有调试模式: Output:

代码语言:javascript
复制
$ python main.py sample_args.txt
Filename:  ['        {\n', '            "name": "Python: filetest.py",\n', '            "type": "python",\n', '
   "request": "launch",\n', '            "program": \n', '            "${workspaceFolder}/filetest.py",\n', '
 "args": [\n', '                "./samples/blja2.wav"\n', '            ],\n', '            "console": "integratedTermina
l"\n', '        }']

在PyCharm:PyCharm调试设置中使用调试模式

输出:

代码语言:javascript
复制
C:\projects\StackOverFlow\venv\Scripts\python.exe C:/projects/StackOverFlow/main.py sample_args.txt
Filename:  ['        {\n', '            "name": "Python: filetest.py",\n', '            "type": "python",\n', '            "request": "launch",\n', '            "program": \n', '            "${workspaceFolder}/filetest.py",\n', '            "args": [\n', '                "./samples/blja2.wav"\n', '            ],\n', '            "console": "integratedTerminal"\n', '        }']

Process finished with exit code 0

Visual代码调试器设置(launch.json):

代码语言:javascript
复制
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {   "args": ["sample_args.txt"],
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

输出:

代码语言:javascript
复制
PS C:\projects\StackOverFlow>  c:; cd 'c:\projects\StackOverFlow'; & 'C:\Python38\python.exe' 'c:\Users\alist\.vscode\extensions\ms-python.python-2021.8.1159798656\pythonFiles\lib\python\debugpy\launcher' '49710' '--' 'c:\projects\StackOverFlow\main.py' 'sample_args.txt'
Filename:  ['        {\n', '            "name": "Python: filetest.py",\n', '            "type": "python",\n', '            "request": "launch",\n', '            "program": \n', '            "${workspaceFolder}/filetest.py",\n', '            "args": [\n', '                "./samples/blja2.wav"\n', '            ],\n', '            "console": "integratedTerminal"\n', '        }']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71344423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档