我有以下文件
Ichg_UNBUNOA3 14 2090100000015 14 1304221445000001 MSG_BGM380 610809 9 NA MSG_DTM13720130422 102 Grp1_RFFON test EDI Grp2_NADBY
我需要使用python 2.7处理它并在每640个字符后添加\ r \ n。 这将导致
Ichg_UNBUNOA3 14......
MSG_BGM380 610809.....
MSG_DTM13720134022.....
Grp1_RFFON test EDI
Grp2_NADBY.....
然后删除“_”
之前的所有字符有人有解决方案吗?
import textwrap
original= infile.readline()
line="\r\n".join(textwrap.wrap(original, 640))
for line in line:
tofile.write(line)
此代码产生以下内容
Ichg_UNBUNOA3 14 2090100000015 14 1304221445000001
MSG_BGM380 610809 9 NA
MSG_DTM13720130422 102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015 9
Grp2_NADIV 2090100000015 9
但是现在我想删除第一个字符,直到'_'
答案 0 :(得分:1)
您可以使用textwrap
模块:
>>> import textwrap
>>> strs="Ichg_UNBUNOA3 14 2090100000015 14 1304221445000001 MSG_BGM380 610809 9 NA MSG_DTM13720130422 102 Grp1_RFFON test EDI Grp2_NADBY"
#textwrap.fill(strs,640) appends a newline ("\n") after every 640 characters
#use "\r\n".join(textwrap.wrap(strs, 640)) if you want '\r\n' instead of '\n' as newline
>>> new_strs=textwrap.fill(strs,640)
>>> for line in new_strs.splitlines():
print " ".join(line.split())
...
Ichg_UNBUNOA3 14 2090100000015 14 1304221445000001
MSG_BGM380 610809 9 NA
MSG_DTM13720130422 102
Grp1_RFFON test EDI
Grp2_NADBY
答案 1 :(得分:0)
要删除_
之前的第一个字符,您可以在_
上拆分字符串并仅选择第二部分。
line = line.split('_', 1)[1]