首页 > 解决方案 > 如何将字符串传递给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函数一样灵活调用它)使用可以不同。

标签: python-3.xcommand-line-interfaceargparse

解决方案


推荐阅读