删除python中的空格

时间:2013-08-08 09:13:56

标签: python whitespace

我正在使用python从SAC读取标题但是在删除空格时遇到问题。我想删除下一个站名之前的空格,例如RPZ,TOZ,URZ。这是我的代码:

for s in stations:
    tr=st[0]
    h=tr.stats
    stnm = h.station
    tt = h.sac.t1

    print>>f,stnm, 'P', '1', tt,

我希望输出看起来像这样:

DSZ P 1 53.59RPZ P 1 72.80TOZ P 1 40.25URZ P 1 32.26 

然后在32.26之后转到新行。这就是我在tt之后使用逗号的原因。

但是,它目前会在RPZTOZURZ之前输出不需要的空格:

DSZ P 1 53.59 RPZ P 1 72.80 TOZ P 1 40.25 URZ P 1 32.26

有什么建议吗?我试过了x.strip(),但我得到了

AttributeError: 'list' object has no attribute 'strip'.

2 个答案:

答案 0 :(得分:1)

print语句正在添加空格;如果您想要删除空格,请不要print而是使用f.write()代替:

f.write('{} P 1 {}'.format(stnm, tt))

这使用str.format()的字符串格式来创建相同的输出格式,但现在不会在tt值之后写入空格。

答案 1 :(得分:0)

作为Martin的答案的替代方案,您也可以(对于Python 2.6+导入和)使用print函数,例如;

# import only needed for Python2
from __future__ import print_function      

print(stnm, 'P', '1', tt, end='', file=f)