【问题标题】:Remove brackets from argv string从 argv 字符串中删除括号
【发布时间】:2014-04-11 21:37:41
【问题描述】:

我是 Python 新手。我正在运行 Raspbian 并以这种方式调用 Python 脚本:

python testarguments.py "Here is a test parameter"

我的脚本:

import sys
print sys.argv[1:]

输出:

['Here is a test parameter']

问题:sys.argv 输出中删除开始和结束括号以及单引号的最有效方法是什么?

【问题讨论】:

  • 您正在打印一个列表
  • 好的,正在学习教程,感谢您的澄清。
  • 为什么这个问题被否决了?
  • @blackairplane 我没有投反对票,但有些人会认为它可能缺乏一点研究工作。
  • 某个假设导致您投了反对票。

标签: python argv sys


【解决方案1】:

: 的意思是“及以后”,所以它当然会返回一个list。做吧:

>>> sys.argv[1]
'Here is a test parameter'

因此返回您的第一个参数来执行程序,而不是列表的一部分。

【讨论】:

    【解决方案2】:

    你正在切片

    sys.argv[1:]
    

    意思是获取从1到序列结束的所有元素。这就是它创建一个新列表的原因。

    要只获取第一项,只需这样做

    sys.argv[1]
    

    这将获得索引 1 处的元素。

    【讨论】:

      【解决方案3】:

      其他答案已经为您解决了实际问题,但如果您确实遇到包含要删除的字符的字符串(例如方括号),您可以执行以下操作:

      my_str = "['Here is a test parameter']"
      my_str.translate(None, "[]")
      

      换句话说,如果你看到的输出实际上是一个字符串,你可以使用 translate 方法得到你想要的。

      【讨论】:

        猜你喜欢
        • 2012-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-16
        • 1970-01-01
        • 1970-01-01
        • 2019-10-12
        相关资源
        最近更新 更多