文件处理

#hhhh
"hhhh.lab"



.
"hhjkkk.lab"



.

等等

这种格式的文件变成

0 1 <s>
1 2 怎么无法接通啊
2 1002 <s>
1 3 我是
3 1002 <s>

等等
1002

的格式

 1 #encoding=utf-8
 2 import os
 3 #filename = raw_input('enter file name:')
 4 f = open('2.txt','r')
 5 lines = f.readlines()
 6 '''--------------------输出到文件-------------'''
 7 #filename = raw_input('enter file name:')
 8 fobj = open('3.txt','w')
 9 #会覆盖原文件
10 list1 = []
11 list2 = []
12 
13 for i in range(len(lines)):
14     eachLine = lines[i]
15 
16     if eachLine.startswith('"'):
17         list1.append(i)
18     #print eachLine,
19     if eachLine.startswith('.'):
20         list2.append(i)
21 
22 print list1,list2    
23         
24 str1 = '0 1 <s>'
25 fobj.write('%s%s' % (str1,os.linesep))
26 
27 for i in range(len(list1)):
28     #print i
29     temp = []
30     j = int(list1[i]) + 1
31     k = int(list2[i])
32     print '======'
33     str1 = str(i+1)+' '+str(i+2)+' '
34     for m in range(j,k):
35         #print lines[m].strip()
36         str1 +=  lines[m].strip()
37     print str1
38     str2 = str(i+2)+' 1002 <s>'
39     print str2
40     temp.append(str1+'
'+str2+'
')
41     fobj.write('%s%s%s%s' % (str1,os.linesep,str2,os.linesep))
42 
43 str1 = '1002'
44 fobj.write('%s%s' % (str1,os.linesep))
45 
46 f.close()
47 fobj.close()

思路:提取"hhhh.lab"的行数,‘.’的行数分别填入list1,list2

再处理list1[i]和list2[i]之间的行

原文地址:https://www.cnblogs.com/lovely7/p/5842729.html