shell 或python如何分段获取文本文件中的内容并存入不同的文件? 10

请问各位大大如何按照“#####”和“&&&&&&”将如下文本文件分成3段并导入3个不同文件,文件内容如下:#####user&timeareasfollows:user... 请问各位大大如何按照“#####” 和“&&&&&&”将如下文本文件分成3段并导入3个不同文件,文件内容如下:

##### user & time are as follows:
user1
2012-08-31 18:12:04 +0800 (Fri, 31 Aug 2012)
##### Files are as follows:
no1 = 0
no2 = 1
no3 = 0
no4 = 0
Modified: a.xml
Modified: b.xml
&&&&&& Finish &&&&&&

##### user & time are as follows:
user2
2012-08-31 18:12:09 +0800 (Fri, 31 Aug 2012)
##### Files are as follows:
no1 = 0
no2 = 1
no3 = 0
no4 = 0
Modified: config_111.java
Modified: c.xml
Modified: d.xml
&&&&&& Finish &&&&&&

##### user & time are as follows:
user3
2012-09-03 16:37:55 +0800 (Mon, 03 Sep 2012)
##### Files are as follows:
no1 = 39
Added: addtest.php
no2 = 53
no3 = 0
no4 = 35
Modified: invite.html
&&&&&& Finish &&&&&&
展开
 我来答
ul0402206
推荐于2017-06-26 · TA获得超过505个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:305万
展开全部
python解决这个问题很简单啊
一行一行读,然后判断是否包含#####和&&&&&
如果有#####就写入文件,如果遇到&&&&& 则写入文件后将该文件关闭,开始写入另一个文件
最好是更具两个#####中间的内容命名文件
这些都是最基本的python操作,看下python文档就能解决问题了
追问
恩  就是不太会~~ 请教您
追答
f = fopen(r'c:\1.txt'.'r')
filecount = 0
fw = fopen(r'c:\'+str(filecount)+'r.txt', 'w+')
for i in f:
if i.find('&&&&&& Finish &&&&&&') != -1:
fw.close()
filecount +=1
fw = fopen(r'c:\'+str(filecount)+'r.txt', 'w+')
else:
fw.write(i)

手边没有python的编译环境,可能你要自己调试一下,最后的结果如果有些行不是你要的就在for循环中过滤一下好了
帐号已注销
2012-09-16 · TA获得超过158个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:122万
展开全部
# 假设文件保存为info.txt
# 最终产生的文件与info.txt在同一目录下面的0.txt, 1.txt, 2.txt
import re
map(lambda i: file('%d.txt' % i[0], 'w').write(i[1]), enumerate(re.findall(r'(##### user.*?Finish &&&&&&)', file('info.txt').read(), re.S)))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yss624_
2017-06-26 · TA获得超过4.7万个赞
知道大有可为答主
回答量:9775
采纳率:77%
帮助的人:2582万
展开全部
gawk -v RS='&&&&&& Finish &&&&&&' 'NF{print $0RS>"user"++n}' user
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式