我正在使用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
之后使用逗号的原因。
但是,它目前会在RPZ
,TOZ
和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'.
答案 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)