1

我正在使用 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

然而,它目前在之前输出不需要的空间RPZTOZ并且URZ

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'.
4

2 回答 2

1

print语句正在添加空格;如果您希望删除空间,请不要print使用f.write()

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

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

于 2013-08-08T09:16:58.840 回答
0

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

# import only needed for Python2
from __future__ import print_function      

print(stnm, 'P', '1', tt, end='', file=f)
于 2013-08-08T09:27:48.757 回答