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 &&&&&& 展开
##### 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 &&&&&& 展开
3个回答
展开全部
python解决这个问题很简单啊
一行一行读,然后判断是否包含#####和&&&&&
如果有#####就写入文件,如果遇到&&&&& 则写入文件后将该文件关闭,开始写入另一个文件
最好是更具两个#####中间的内容命名文件
这些都是最基本的python操作,看下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循环中过滤一下好了
展开全部
# 假设文件保存为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)))
# 最终产生的文件与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)))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gawk -v RS='&&&&&& Finish &&&&&&' 'NF{print $0RS>"user"++n}' user
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询