我是Python新手。我正在运行Raspbian并以这种方式调用Python脚本:
python testarguments.py "Here is a test parameter"
我的剧本:
import sys
print sys.argv[1:]
输出:
['Here is a test parameter']
问题:
从sys.argv
输出中删除开始和结束括号和单引号的最有效方法是什么?
答案 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方法获得您想要的结果。