将 argparse dict 形字符串从 pycharm 传递到远程解释器(本地赢,远程 nix)

Posted

技术标签:

【中文标题】将 argparse dict 形字符串从 pycharm 传递到远程解释器(本地赢,远程 nix)【英文标题】:passing argparse dict shaped string from pycharm to a remote interperter (local win,remote nix) 【发布时间】:2017-04-27 10:02:01 【问题描述】:

我有以下配置:

在本地 win7 机器上使用远程 unix 机器作为解释器的 pycharm。

我尝试运行的代码从 argparse 接收一个 dict 格式字符串,并使用 eval 将其变成一个 dict。

这在通过 ssh 运行时有效,但在使用脚本参数从 pycharm 运行时失败,

我已经能够使用 \ 来转义 和 " 了:

--input_paths \\"kk1\":\[\"/sandbox/23\"]\

但添加更多键:

 --input_paths \\"kk1\":[\"/sandbox/23\"],\"kk2\":[\"/sandbox/23\"]\

结果:

 argtest.py: error: unrecognized arguments: "kk2":["/sandbox/23"]

有什么想法吗?

【问题讨论】:

我认为您不会在 kk2 之前的 ',' 之前转义 ']',对吧? 你是对的,但这没什么区别(我认为不需要转义 ] 我会在几秒钟内编辑问题) 【参考方案1】:

可能为时已晚,但我发现你需要有类似的参数。

 \"kk1\":\"asd\",\"kk2\":\"asd\"

单引号和双引号在我的经验中也很重要。

希望这对某人有所帮助。

【讨论】:

以上是关于将 argparse dict 形字符串从 pycharm 传递到远程解释器(本地赢,远程 nix)的主要内容,如果未能解决你的问题,请参考以下文章

Python argparse - 带有 dict 选项的选项

Python Argparse 多次使用相同的参数

编程54--python学习28Namespace与dict的相互转换,保存Namespace,以字典形式传入argparse的参数

Python argparse 字典 arg

Python+argparse+notebook

使用 argparse 和 python 接受字典作为参数 [重复]