如何解决Pycharm 删除参数字段中的引号
我想通过使用 PyCharm 中的参数字段为 python 脚本设置参数。
我的配置:
但是运行控制台中的命令是:
python3 path_to_script.py '{app_id: picoballoon_network,dev_id: ferdinand_8c ... and so on
而不是:
python3 path_to_script.py '{"app_id": "picoballoon_network","dev_id": "ferdinand_8c" ... and so on
我的 PyCharm 版本是:
PyCharm 2020.3.1 (Professional Edition)
Build #PY-203.6682.86,built on January 4,2021
Runtime version: 11.0.9.1+11-b1145.37 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
解决方法
为避免删除引号,请注意包含引号的参数的编写规则。
运行/调试配置:Python
指定脚本参数时,请遵循以下规则:
-
使用空格分隔各个脚本参数。
-
包含空格的脚本参数应该用双引号分隔,例如,
some" "param
或"some param"
。 -
如果脚本参数包含双引号,用反斜杠转义双引号,例如:
-s"main.snap_source_dirs=[\"pcomponents/src/main/python\"]" -s"http.cc_port=8189"
-s"backdoor.port=9189"
-s"main.metadata={\"location\": \"B\",\"language\": \"python\",\"platform\": \"unix\"}"
问题中的情况是单个参数,让我们将规则应用于示例:
'{"app_id": "picoballoon_network","dev_id": "ferdinand_8c"'
-
因为它是一个包含空格的单个参数,所以必须用引号括起来。
-
由于参数的内容也包含引号,因此必须使用反斜杠
\
对其进行转义。所以应用参数格式规则给出:
"'{\"app_id\": \"picoballoon_network\",\"dev_id\": \"ferdinand_8c\"}'"
-
(旁注):在示例中,参数被 Apostrophes 包围,这可能是不必要的,并且可能必须稍后在您的 Python 代码中删除(下面的示例使用
strip
方法)。
您可以使用这个简单的脚本对其进行测试:
import sys
import ast
your_dictionary = ast.literal_eval(sys.argv[1].strip("'"))
(旁注):您的示例参数是一个包含 Python dictionary 的字符串,有多种方法可以转换它,在示例中我包含了这个问题中投票最高的答案: "Convert a String representation of a Dictionary to a dictionary?"
显示正在使用的参数和测试代码的屏幕截图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。