小甲魚與客服的對話,代碼與解析


源文檔:

'這是一段待寫入的數小客服:小甲魚?,今天有?客戶問你有沒有女朋友?\n小甲魚:咦???\n小客服:我跟她說你有女朋友了!\n小甲魚:。。。。。\n小客服:"她讓你分手后考慮下她!然后我說您要買個優盤,我就幫您留意下~"\n小甲魚:然后呢?\n小客服:她買了兩個,說發一一個貨就好~\n小甲魚:呃。?。。。。。你真牛!\n小客服:那是,誰讓我是魚C最可愛小客服嘛~\n小甲魚:下次有人想調戲你我不阻止~\n小客服:滾!!!\n==========================================================\n小客服:小甲魚,有個好評很好笑哈。\n小甲魚:哦?\n小客服:"有了小甲魚,以后媽媽再也不用擔心我的學習了~”\n小甲魚:哈哈哈,我看到丫,我還發微博了呢~\n小客服:嗯嗯,我看了你的微博丫~小甲魚喲西~\n小客服:那個有條回復"左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,?soeasy^...^"\n小甲魚:T_T\n=============================================================\n小客服:小甲魚?,今天一?一個會員想找你\n小甲魚:哦?什么事?\n小客服:他說你一個學生月薪已經超過12k了!?!\n小甲魚:哪里的?\n小客服:上海的\n小甲魚:那正常,哪家公司?\n小客服:他沒說呀。\n小甲魚:哦\n小客服:老大,為什么我工資那么低啊???是時候漲張工資了!!!\n小甲魚:啊,你說什么?我在外邊呢,這里好吵吖。。。。。。\n小客服:滾!!!\n

 

代碼實現:

 

 1 f=open('record2.txt')  2 
 3 girl = []  4 boy = []  5 count = 1
 6 for each_line in f:  7     if each_line[:6] != '======':  8         (role,line_spoken) = each_line.split(':',1)  9         if role == '小甲魚': 10  boy.append(line_spoken) 11         else: 12  girl.append(line_spoken) 13     else: 14         file_name_boy = 'boy' + str(count) +'.txt'
15         file_name_girl = 'girl' + str(count) + '.txt'
16         boy_file = open(file_name_boy,'w') 17         girl_file = open(file_name_girl,'w') 18         boy_file.writelines(boy)    #把boy 寫入boy_file (boy原本是個【】,后來已經通過上面的 if roel那個循環 吧 ===== 上面小甲魚的話加到里面)
19         girl_file.writelines(girl)  #這兩行代碼就是往 14,15行代碼的那兩個文件寫入東西
20          #寫完入東西之后該干嘛了呢? 截止到這里 第一行======上面的內容已經保存成boy1.txt和 girl.txt了 接着想要讀下面一段話,但是boy 和 girl這兩個定義的數組都是上一段的東西 這時候就該把它們清空了
21         boy = [] 22         girl = [] 23         count += 1

 

然而 文件中只出現了

 

第三段沒有出現 這是因為最后一段沒有 ====== 程序無法判斷 所以要自己笨笨的在加一次操作 (╮(╯▽╰)╭,for循環幫不上忙自己動手)

 1 f=open('record2.txt')
 2 
 3 girl = []
 4 boy = []
 5 count = 1
 6 for each_line in f:
 7     if each_line[:6] != '======':
 8         (role,line_spoken) = each_line.split(':',1)
 9         if role == '小甲魚':
10             boy.append(line_spoken)
11         else:
12             girl.append(line_spoken)
13     else:
14         file_name_boy = 'boy' + str(count) +'.txt'
15         file_name_girl = 'girl' + str(count) + '.txt'
16         boy_file = open(file_name_boy,'w')
17         girl_file = open(file_name_girl,'w')
18         boy_file.writelines(boy)    #把boy 寫入boy_file (boy原本是個【】,后來已經通過上面的 if roel那個循環 吧 ===== 上面小甲魚的話加到里面)
19         girl_file.writelines(girl)  #這兩行代碼就是往 13,14行代碼的那兩個文件寫入東西
20          #寫入東西之后該干嘛了呢? 截止到這里 第一行======上面的內容已經保存成boy1.txt girl.txt了  想要讀下面一段話,但是boy 和 girl這兩個定義的數組都是上一段的東西 這時候就該把它們清空了
21         boy = []
22         girl = []
23         count += 1
24 
25 file_name_boy = 'boy' + str(count) +'.txt'
26 file_name_girl = 'girl' + str(count) + '.txt'
27 boy_file = open(file_name_boy,'w')
28 girl_file = open(file_name_girl,'w')
29 boy_file.writelines(boy)    #把boy 寫入boy_file (boy原本是個【】,后來已經通過上面的 if roel那個循環 吧 ===== 上面小甲魚的話加到里面)
30 girl_file.writelines(girl)
31 
32 #活干完了 ,該把文件關上了

整個思想就是上面那樣 當時怎么能干笨活 下面 優化一下

 

啥也不說了看注釋

 1 f = open('record2.txt')
 2 
 3 # 保存文件那里總是重復的寫,這里把他定義成一個函數
 4 
 5 
 6 def save_file(count,boy,girl):  #下面會用到三個變量 count boy girl 所以這里記得要加上這三個未定義的變量
 7     filename_boy_name = 'boy' + str(count) + '.txt'
 8     filename_girl_name = 'girl' + str(count) +'.txt'
 9     boy_file = open(filename_boy_name,'w')
10     girl_file = open(filename_girl_name,'w')
11     boy_file.writelines(boy)
12     girl_file.writelines(girl)
13     boy_file.close()
14     girl_file.close()
15 
16 
17 #這里為了以后使用方便 把分裂文字,然后寫入這個功能也寫成函數,說不定以后還用得到呢
18 
19 def split_file(filename):   #函數()里面不用急着寫,下面用到什么,這里再寫什么也不遲
20     f = open(filename)
21     girl = []
22     boy = []
23     count = 1
24     for each_line in f:
25         (role, line_spoken) = f.split(':', 1)
26         if each_line[:6] == '======':
27             if role == '小甲魚':
28                 boy.append(line_spoken)
29             else:
30                 girl.append(line_spoken)
31         else:
32             save_file(count,boy,girl)   #這里為什么不像其它函數一樣 填具體的東西呢? 因為前面已經定義過了
33             count +=1
34             boy = []
35             girl = []
36     save_file(count,boy,girl)
37     f.close()
38 
39 
40 #兩個功能都寫好了 ,現在用用這個利器吧
41 split_file('record.txt')

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM