Python打印string.split没有方括号

时间:2014-06-04 19:31:03

标签: python

我有

cmd=arg[3:]

给出了例如

['file python parameter1=5 parameter2=456 ']

当我打印时,我想以格式打印 - python文件参数..

我试过

print "%s %s %s" % (string.split(cmd[0])[1],string.split(cmd[0])[0],string.split(cmd[0])[2:])

给出了

python文件['参数1 = 5参数2 = 456']

如何在没有方括号或引号的情况下打印参数部分?

感谢。 最后一部分如何打印

3 个答案:

答案 0 :(得分:1)

您要求Python将列表转换为字符串。这就是您看到括号和引号的原因。您需要做的就是使用join使其再次成为字符串。

" ".join(string.split(cmd[0])[2:])

或者如果你真的喜欢字符串模块

string.join(" ", string.split(cmd[0])[2:])

如果我正在进行代码审查,我宁愿看到这样编写的代码:

fname, interp, args = cmd[0].split(" ", 2)
print "%s %s %s" % (interp, fname, args)

答案 1 :(得分:0)

你可以尝试类似的东西:

' '.join(cmd[0].split()[2:])

而不是:

string.split(cmd[0])[2:]

另外,我建议你使用一个中间变量来避免做同样的拆分3次......或者甚至更好:

print ' '.join(cmd[0].split(' ', 2))

或者实际上只是:

print cmd[0]

但我想你不想只打印它......

答案 2 :(得分:0)

使用format方法优先于% - 样式字符串格式。

print "{0[1]} {0[0]} {0[2]}".format(cmd[0].split(None, 2))