从argv字符串中删除括号

时间:2014-04-11 13:27:06

标签: python argv sys

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

python testarguments.py "Here is a test parameter"

我的剧本:

import sys
print sys.argv[1:]

输出:

['Here is a test parameter']

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

3 个答案:

答案 0 :(得分:2)

:表示'及以后',因此它当然会返回list。只是做:

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

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

答案 1 :(得分:1)

你正在切片

sys.argv[1:]

这意味着获取从1到序列结尾的所有元素。这就是为什么它会创建一个新列表。

要仅获取第一项,只需执行

即可
sys.argv[1]

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

答案 2 :(得分:0)

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

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

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