Python打印string.split不带方括号
我有
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 文件 ['parameter1=5 parameter2=456 ']
我该怎么做才能打印出参数部分,而不带方括号或引号呢?
谢谢。最后一部分我该怎么打印
3 个回答
0
建议使用 format
方法,而不是使用 %
这种老式的字符串格式化方式。
print "{0[1]} {0[0]} {0[2]}".format(cmd[0].split(None, 2))
0
你可以试试这样的写法:
' '.join(cmd[0].split()[2:])
而不是:
string.split(cmd[0])[2:]
另外,我建议你使用一个中间变量,这样就不用重复做三次相同的分割了……或者更好的是:
print ' '.join(cmd[0].split(' ', 2))
其实可以简单写成:
print cmd[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)