parser.parse_args()在docker运行中止运行的解决方法

这篇具有很好参考价值的文章主要介绍了parser.parse_args()在docker运行中止运行的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在使用paddleocr的模型打包的时候,一直无法正常运行,然后加入logging后发现在

parser.parse_args()处停止运行了。坑了我好几天,天天打包。。。。

解决方案:

parser.parse_args() 替换为 parser.parse_known_args()[0] 后代码正常运行。


parser.parse_args()用法介绍:argparse传参模块调用

测试时发现,下面三种写法输出结果是一致的:

import argparse

parser = argparse.ArgumentParser()
yaml_path='requirements.txt'
parser.add_argument('-f', '--config_file', dest='config_file',type=argparse.FileType(mode='r'),default=yaml_path)

args = parser.parse_args()
print('args:', args)

args = parser.parse_args(args=[])
print('args:', args)

args = parser.parse_known_args()[0]
print('args:', args)

parse_known_argsparse_args的区别如下:

  • parse_known_argsparse_args 是 argparse 模块提供的两个方法,它们的主要区别在于当解析器遇到未知的命令行选项或参数时的行为。
  • parse_known_args() 方法不会抛出错误,它会返回两个值,第一个值是已知选项和参数的值的命名空间(namespace)对象第二个值是包含未知选项和参数的列表。 此方法可以在使用多个解析器的情况下特别有用,其中一个解析器可以解析一些选项和参数,另一个解析器可以解析剩余的选项和参数。
  • 相反,如果使用 parse_args() 方法,则解析器会抛出 SystemExit 异常,并显示错误消息。这可能是在脚本中使用的一种标准方法,因为错误消息会显示在控制台上,指示用户如何正确使用脚本。

  • 因此,通常情况下,当你知道需要解析的选项和参数时,使用 parse_args() 方法可能更为合适;而当你不能确定选项和参数的列表时,或者需要在多个解析器之间共享选项和参数,则应该使用 parse_known_args() 方法。文章来源地址https://www.toymoban.com/news/detail-457974.html

到了这里,关于parser.parse_args()在docker运行中止运行的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决错误 “Parameter ‘username‘ not found. Available parameters are [arg1, arg0, param1]“ 的方法详解

    在开发应用程序时,有时可能会遇到错误信息 “Parameter ‘username’ not found. Available parameters are [arg1, arg0, param1]”,该错误表明在参数列表中找不到 ‘username’ 参数。本文将介绍如何解决这个错误,帮助你正确传递参数并避免出现问题。 首先,要检查参数名称是否正确,并确

    2024年02月09日
    浏览(39)
  • Docker中flink-cluster-jobmanager-1运行失败解决方法

    这是flink-cluster-jobmanager-1报错日志 2023-12-07 23:34:26 [ERROR] The execution result is empty. 2023-12-07 23:34:25 Starting Job Manager 2023-12-07 23:34:26 [ERROR] Could not get JVM parameters and dynamic configurations properly. 2023-12-07 23:34:26 [ERROR] Raw output from BashJavaUtils: 2023-12-07 23:34:26 INFO [] - Loading configuration property:

    2024年02月03日
    浏览(36)
  • 关于docker-compose up -d在文件下无法运行的原因以及解决方法

    一、确认文件下有docker-compose.yml文件  二、解决方法 检查 Docker 服务是否运行 : 使用以下命令检查 Docker 服务是否正在运行: 如果 Docker 未运行,可以使用以下命令启动它: 确认 Docker 服务开机自启动 : 如果 Docker 服务在启动后无法正常运行,您可以使用以下命令将其设置

    2024年02月12日
    浏览(34)
  • 解决 Win10 Docker Desktop 启动慢的3大方法,让你的容器运行速度飞起!

    在使用 Win10 Docker Desktop 运行容器时,有时会遇到启动很慢的问题。本文将详细介绍这个问题产生的原因,并提供相应的解决方法。通过实例演示,帮助读者更好地解决这个问题。 1. 问题原因分析 Docker Desktop 启动慢的原因主要有以下几个方面: 1.1 硬件配置不足 如果你的硬件

    2024年02月01日
    浏览(58)
  • Parsing error: Cannot find module ‘babel-eslint‘解决方法

    全局搜索babel-eslint 1.将.eslintrc.js中的   parserOptions: {     parser: \\\'babel-eslint\\\'   }, 改为   parserOptions: {     \\\'parser\\\': \\\'@babel/eslint-parser\\\'   }, 2.将package.json里的   \\\"babel-eslint\\\": \\\"^10.0.1\\\",    删除 增加一行    \\\"@babel/eslint-parser\\\": \\\"^7.18.2\\\", 3.删掉yarn.lok里的\\\'babel-eslint模块 4.重新npm run build

    2023年04月21日
    浏览(45)
  • 运行`docker-compose up -d xxx`报错“yaml:invalid trailing UTF-8 octet“解决方法

    运行 docker-compose up -d xxx yaml:invalid trailing UTF-8 octet 使用notepad打开 docker-compose.yml 文件,确认文件编码为UTF-8,查看文件内容,注释中存在乱码。删除乱码信息后保存,再次运行 docker-compose up -d xxx ,结果运行成功。 说明:引入此报错是由于在修改使用MobaXterm连接的服务器上的

    2024年02月12日
    浏览(364)
  • Parser 使用方法

    本文主要记录了在深度学习中,使用别人写的代码时,用来接收用户在命令行里指定传入模型参数的重要方法 parser 同时,本文也给出了简易的示例,方便读者快速开始(只想了解如何使用的话可以直接跳到 3. 使用方法 和 4. 示例 ) argparse 模块可以让人轻松编写用户友好的命

    2024年02月02日
    浏览(72)
  • 解决Docker拉取镜像报Error response from daemon: error parsing HTTP 408 response body的问题

    Docker在拉取镜像时报如下错误: Error response from daemon: error parsing HTTP 408 response body: invalid character ‘’ looking for beginning of value: “h1408 Request Time-outnYour browser didn’t send a complete request in time.nn” 这个错误通常是由于Docker在下载镜像时出现网络连接问题引起的。可以尝试以下解

    2024年02月09日
    浏览(77)
  • JSON parse error: Unexpected character (‘ ‘ (code 160))-PostMan里面Json参数编码不一致解决方法

    注意看==={Unexpected character (’ ’ (code 160))}

    2024年02月06日
    浏览(39)
  • 【linux 多线程并发】多线程的控制,挂起线程暂停运行,直到唤醒线程,取消线程运行,可以设置合适的取消点属性避免不安全点被中止

    ​ 专栏内容 : 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况下对故障容灾的支持。 手写数据库toadb 本专栏主要介绍如何从零开发,开发的

    2024年01月20日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包