1. 程式人生 > 其它 >關於小甲魚和客服對話的檔案和程式碼解釋,及其中所遇到問題的總結。

關於小甲魚和客服對話的檔案和程式碼解釋,及其中所遇到問題的總結。

------------恢復內容開始------------

1、先給出小甲魚和客服對話的記事本內容

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

2、再給出課堂上所講述的程式碼

#開啟小甲魚和客服對話的檔案,我放在了D盤,給出了檔案路徑和編碼方式(UTF-8)
f=open('D://SSS1.txt',encoding='UTF-8')

boy=[]
girl=[]
count=1
#迴圈迭代
for each_line in f:
    #迴圈讀取前六個變數,如果連續等於6個等號就執行下面程式碼
    if each_line[:6] != '======':
        #從“:”兩端分開分別,將其分別給role和line_spoken
        (role,line_spoken)=each_line.split(':',1)
        #如果role是小甲魚,就將line_soken放入列表boy中

        if role =="小甲魚":
            boy.append(line_spoken)
        if role =='小客服':
            girl.append(line_spoken)
    #如果連續等於6個等號就執行下列程式碼,也就是到了第二段話了
    else:
        
        #給第一段第二段的小甲魚和小客服的對話分別命名為:boy1.txt和girl1.txt
        #boy2.txt和girl2.txt,以便下一步返回一個檔名
        file_name_boy='boy' + str(count) +'.txt'
        file_name_girl='girl' + str(count) +'.txt'
        #以覆蓋式('w')的寫入方式,返回兩個上述建立的文字檔案
        boy_file=open(file_name_boy,'w')
        girl_file=open(file_name_girl,'w')
        #先將第一段中的小甲魚和小客服說的話,每句話分別放入boy1.txt和girl1.txt中
        boy_file.writelines(boy)
        girl_file.writelines(girl)
        #寫入完檔案還在記憶體中,要關閉檔案放入硬碟(也就是把檔案儲存下來)。
        boy_file.close()
        girl_file.close()
        #初始化兩個列表在讀入第二段話
        boy=[]
        girl=[]
        count+=1
#因為第三段就讀不到'======',所以要再重複一遍命名。
file_name_boy='boy' + str(count) +'.txt'
file_name_girl='girl' + str(count) +'.txt'

boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w')

boy_file.writelines(boy)
girl_file.writelines(girl)

boy_file.close()
girl_file.close()

f.close()

3、給出兩個容易出錯的程式碼截圖

3.1 編碼出現錯誤(encoding='UTF-8')

解決辦法:因為我的記事本儲存的格式為UTF-8,而open()預設為None,故在開啟路徑後面寫上'encoding=UTF-8'

3.2 小甲魚和小客服對話文字末尾的空行沒有刪除

解決辦法:找到檔案末尾,把空行刪除,在執行程式碼。

3.3 三個檔案的儲存位置

因為我用的是python的IDLE Shell,所以執行完程式碼的檔案,都儲存在了我存放程式碼的位置,並不是開啟小甲魚和小客服對話的檔案在一個地方(也就是說我我把“小甲魚與小客服”的對話和我的所有IDLE的程式碼位置存放不一樣,不管怎樣就從IDLE Shell中存放程式碼的位置,去尋找執行完後程序所生成的幾個程式碼檔案)。

3.4 所生成的檔案

上圖就是執行完程式碼所生的的6個檔案。

 

         此篇文章是初學者wangwin4所寫,如有紕漏還望海涵,歡迎各位大佬批評指正,這是作者的第一篇隨筆,特此記錄,

 

------------恢復內容結束------------