从argv字符串中移除括号

2 投票
3 回答
2183 浏览
提问于 2025-04-18 02:21

我刚开始学习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

其他回答已经解决了你的实际问题,但如果你将来遇到一个字符串,里面有你想去掉的字符(比如方括号),你可以这样做:

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

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

2

这个 : 可以理解为“从这里开始往后”,所以它会返回一个 list(列表)。你只需要这样做:

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

这样就会返回你在运行程序时传入的第一个参数,而不是列表中的一部分。

2

你正在使用切片操作:

sys.argv[1:]

这意味着从序列的第1个元素开始,一直到最后一个元素都获取到。这就是为什么它会创建一个新的列表。

如果你只想获取第一个元素,可以这样做:

sys.argv[1]

这样可以获取到索引为1的元素。

撰写回答