我有
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']
如何在没有方括号或引号的情况下打印参数部分?
感谢。 最后一部分如何打印
答案 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))