python-将基于行的文本文件拆分成块,例如字符串拆分操作?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-将基于行的文本文件拆分成块,例如字符串拆分操作?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1065字,纯文字阅读大概需要2分钟。
内容图文
![python-将基于行的文本文件拆分成块,例如字符串拆分操作?](/upload/InfoBanner/zyjiaocheng/671/8f9e15c998a146ea9a5cdaa2b14150f2.jpg)
我有文本报告文件,我需要“ split()”,例如将字符串拆分成数组.
所以文件就像:
BOBO:12341234123412341234 1234123412341234123412341 123412341234 BOBO:12349087609812340-98 43690871234509875 45 BOBO:32498714235908713248 0987235
我想在以“ ^ BOBO:”开头的行中创建3个子文件.我真的不想要3个物理文件,我更喜欢3个不同的文件指针.
解决方法:
也许使用itertools.groupby:
import itertools
def bobo(x):
if x.startswith('BOBO:'):
bobo.count+=1
return bobo.count
bobo.count=0
with open('a') as f:
for key,grp in itertools.groupby(f,bobo):
print(key,list(grp))
产量:
(1, ['BOBO:12341234123412341234\n', '1234123412341234123412341\n', '123412341234\n'])
(2, ['BOBO:12349087609812340-98\n', '43690871234509875\n', '45\n', '\n'])
(3, ['BOBO:32498714235908713248\n', '0987235\n'])
由于您说自己不需要物理文件,因此整个文件必须能够容纳在内存中.在这种情况下,要创建类似文件的对象,请使用cStringIO模块:
import cStringIO
with open('a') as f:
file_handles=[]
for key,grp in itertools.groupby(f,bobo):
file_handles.append(cStringIO.StringIO(''.join(grp)))
file_handles将是文件状对象的列表,每个“ BOBO:”节对应一个.
内容总结
以上是互联网集市为您收集整理的python-将基于行的文本文件拆分成块,例如字符串拆分操作?全部内容,希望文章能够帮你解决python-将基于行的文本文件拆分成块,例如字符串拆分操作?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。