python-3.x - 如何将字符串传递给python3中的函数参数
问题描述
我正在使用 argparse 库构建一个命令行界面来解析用户输入。在某个阶段,我想接受用户输入,"'test', x=False"
并在诸如func('test', x=False)
.
我尝试使用 ast.literal_eval 来执行此操作,但在等号处遇到语法错误。(我做ast.literal_eval("("+args+")")
了args
上面的例子)
有谁知道像这样解析用户输入的安全方法?最好不使用 eval,尽管在最坏的情况下我可以使用 eval 作为 CLI 工具。
python3 -m hmcli.raw --args "'test', x=False"
编辑(对于那些说过要手动使用输入的人():我需要该工具来解析命令运行时的输入(这是一个 python 模块,我希望能够像args
函数一样灵活调用它)使用可以不同。
解决方案
推荐阅读
- node.js - createBlockBlobFromStream() 覆盖现有内容而不是追加
- python - 检查我的两列是否在 python 中至少包含一个研讨会值
- c# - 如何在windows中获取屏幕超时事件
- amazon-web-services - 自签名证书在 AWS Route53 域上引发 404 not found 错误
- python.net - Pythonnet:无法访问 dll 类
- python - 使用 python 下载 zip 文件
- php - 如何配置 Apache 和 MySQL 以处理超过 5k 用户的流量
- javascript - 找到网页上的哪些脚本添加了某个元素的好方法是什么?
- java - Lambda 表达式:使用函数结果作为映射中的下一个参数
- java - 在运行 Corretto 的 Lambda 中指定字体位置