首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pycharm删除paramenter字段中的引号

Pycharm删除paramenter字段中的引号
EN

Stack Overflow用户
提问于 2021-01-04 19:40:04
回答 1查看 426关注 0票数 2

我希望使用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版本是:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-05 01:49:58

要避免删除引号,请注意写入包含引号的参数的规则。

运行/调试配置: 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"'

  1. 因为它是一个包含空格的参数,所以必须用引号代替。
  2. 由于参数的内容还包含引号,所以必须使用反斜杠\对它们进行转义。因此,应用参数格式化规则会给出:

"'{\"app_id\": \"picoballoon_network\", \"dev_id\": \"ferdinand_8c\"}'"

  1. (附带说明):在示例中参数被撇号包围,这可能是不必要的,可能必须在后面的撇号代码中进行剥离(下面的示例使用strip方法)。

您可以用这个简单的脚本来测试它:

代码语言:javascript
复制
import sys
import ast


your_dictionary = ast.literal_eval(sys.argv[1].strip("'"))

(附带说明):您的示例参数是一个包含Python字典的字符串,有几种方法来转换它,在这个示例中,我包含了来自这个问题的最高投票答案:https://stackoverflow.com/q/988228/10794031

显示正在使用的参数和测试代码的屏幕截图:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65568789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档