欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python學(xué)習(xí)037-----python之文件(二):文件的分割與保存

系統(tǒng) 2006 0

【一個(gè)任務(wù)】
這節(jié)課我們來(lái)完成一個(gè)任務(wù):
將文件record.txt中的數(shù)據(jù)進(jìn)行分割,并按照以下規(guī)律保存起來(lái):
1.小甲魚(yú)的對(duì)話(huà)單獨(dú)保存為boy_*.txt的文件(去掉"小甲魚(yú):")
2.客服的對(duì)話(huà)單獨(dú)保存為girl_*.txt的文件(去掉"客服:")
3.文件中共有4段對(duì)話(huà),分別保存為boy_1.txt, girl_1.txt, boy_2.txt, girl_2.txt,?? ?boy_3.txt, girl_3.txt,
?? boy_4.txt, girl_4.txt 共8個(gè)文件。
PS: 文件中不同的對(duì)話(huà)間已經(jīng)使用"========"分割了
文件如下:

python學(xué)習(xí)037-----python之文件(二):文件的分割與保存_第1張圖片

            
              f = open( 'record.txt' ) ? ? #由于python文件和txt文件在同一個(gè)文件夾,所以不用加絕對(duì)路徑
boy = []
girl = [] ? ?#初始化兩個(gè)列表,一會(huì)用于存放文件信息
counter = 1 ?#初始化計(jì)數(shù)器

for each_line in f:
?? ?if each_line[:6] != '======': ?#這里只判斷前六個(gè)符號(hào),前六個(gè)不是等號(hào)就可以了,不用判斷那么長(zhǎng)
?? ??? ?#這里進(jìn)行字符串分割操作
?? ??? ?(role, line_spoken) = each_line.split(':',1) ? ? #注意:split()中的冒號(hào)要和文件中的一致,否則報(bào)錯(cuò)。
?? ??? ?if role == '小甲魚(yú)':
?? ??? ??? ?boy.append(line_spoken)
?? ??? ?if role == '客服':
?? ??? ??? ?girl.append(line_spoken)
?? ?else:
?? ??? ?#這里進(jìn)行文件的分別保存操作
?? ??? ?file_name_boy = 'boy_' + str(counter) + '.txt'?
?? ??? ?file_name_girl = 'girl_' + str(counter) + '.txt'
?? ??? ?
?? ??? ?boy_file = open( file_name_boy, 'w' ) ? ? ?#打開(kāi)文件
?? ??? ?girl_file = open(file_name_girl, 'w') ? ? ? ? ?#打開(kāi)文件

?? ??? ?#前面已經(jīng)將小甲魚(yú)和客服的對(duì)話(huà)保存在了boy和girl這兩個(gè)序列中
?? ??? ?boy_file.writelines( boy ) ? ? ? ? ? #寫(xiě)入文件(由前面的知識(shí)知道,將序列寫(xiě)入文件需要使用writelines()這個(gè)內(nèi)置方法)
?? ??? ?girl_file.writelines( girl ) ? ? ? ? ? ? #寫(xiě)入文件

?? ??? ?boy_file.close() ? ? ? ? ?#文件寫(xiě)入完后一定要記得關(guān)閉
?? ??? ?girl_file.close() ? ? ? ? ? #如果不關(guān)閉文件,那么寫(xiě)入的內(nèi)容會(huì)一直保存在緩沖區(qū)里,不會(huì)寫(xiě)入到文件中

?? ??? ?boy =[] ? ? ? ? ? ? ? ? ? ? ?#別忘了對(duì)這兩個(gè)序列進(jìn)行初始化,以便下次寫(xiě)入
?? ??? ?girl = [] ? ? ? ? ? ? ? ? ? ? ?#同上
?? ??? ?counter += 1 ? ? ? ? ? ?#計(jì)數(shù)器加1

f.close() ? ? #使用完文件要記得關(guān)閉 !
print('文件分割完畢!')
            
          

上面的代碼有一個(gè)小小的問(wèn)題,即:文件的保存是在遇到"======"后進(jìn)行的,故如果不在最后一段
加上"======"的話(huà),最后一段文字是只被分割而未被保存的。所以要解決上面的問(wèn)題,可以在文字
中的底部加上"======",或者在代碼跳出for循環(huán)后加上保存文件的代碼。但是如果在for循環(huán)結(jié)束
后加保存代碼又會(huì)顯得程序非常臃腫,所以我們應(yīng)該使用函數(shù)來(lái)替代重復(fù)代碼,這樣程序才會(huì)更加
簡(jiǎn)潔。如下:

            
              def function():
?? ?#這里進(jìn)行文件的分別保存操作
?? ?file_name_boy = 'boy_' + str(counter) + '.txt'?
?? ?file_name_girl = 'girl_' + str(counter) + '.txt'
?? ??? ?
?? ?boy_file = open( file_name_boy, 'w' ) ? ? ?#打開(kāi)文件
?? ?girl_file = open(file_name_girl, 'w') ? ? ? ? ?#打開(kāi)文件

?? ?#下面的主程序中已經(jīng)將小甲魚(yú)和客服的對(duì)話(huà)保存在了boy和girl這兩個(gè)序列中
?? ?boy_file.writelines( boy ) ? ? ? ? ? #寫(xiě)入文件(由前面的知識(shí)知道,將序列寫(xiě)入文件需要使用writelines()這個(gè)內(nèi)置方法)
?? ?girl_file.writelines( girl ) ? ? ? ? ? ? #寫(xiě)入文件

?? ?boy_file.close() ? ? ? ? ?#文件寫(xiě)入完后一定要記得關(guān)閉
?? ?girl_file.close() ? ? ? ? ? #如果不關(guān)閉文件,那么寫(xiě)入的內(nèi)容會(huì)一直保存在緩沖區(qū)里,不會(huì)寫(xiě)入到文件中

#【程序入口在此處】
f = open( 'record.txt' ) ? ? #由于python文件和txt文件在同一個(gè)文件夾,所以不用加絕對(duì)路徑 ??
boy = [] ? #初始化兩個(gè)列表,一會(huì)用于存放文件信息
girl = [] ? ?
counter = 1 ?#初始化計(jì)數(shù)器,為了給文件名標(biāo)注序號(hào)

for each_line in f:
?? ?if each_line[:6] != '======': ?#這里只判斷前六個(gè)符號(hào),前六個(gè)不是等號(hào)就可以了,不用判斷那么長(zhǎng)
?? ??? ?#這里進(jìn)行字符串分割操作
?? ??? ?(role, line_spoken) = each_line.split(':',1) ? ? #注意:split()中的冒號(hào)要和文件中的一致,否則報(bào)錯(cuò)。
?? ??? ?if role == '小甲魚(yú)':
?? ??? ??? ?boy.append(line_spoken)
?? ??? ?if role == '客服':
?? ??? ??? ?girl.append(line_spoken)
?? ?else:
?? ??? ?function() ? ? ? ? ? ? ? ? ?#遇到"======"就保存文件
?? ??? ?boy =[] ? ? ? ? ? ? ? ? ? ? ?#別忘了對(duì)這兩個(gè)序列進(jìn)行初始化,以便下次寫(xiě)入
?? ??? ?girl = [] ? ? ? ? ? ? ? ? ? ? ?#同上
?? ??? ?counter += 1 ? ? ? ? ? ?#計(jì)數(shù)器加1

function() ?#保存分割出來(lái)的最后一段文件

f.close() ? ? #使用完文件要記得關(guān)閉 !
print('文件分割完畢!')
            
          

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99pao成人国产永久免费视频 | 97美女网| 午夜小视频免费观看 | 一级毛片在线免费观看 | 手机在线观看你懂得 | 亚洲综合干 | 91精品国产露脸在线观看 | a免费国产一级特黄aa大 | 欧美午夜不卡 | 色婷婷亚洲| 亚洲欧美日韩精品久久奇米色影视 | 国产精品欧美一区二区三区不卡 | 波多野一区 | 黄色精品 | 久久精品亚洲欧美日韩精品中文字幕 | sese国产 | 国产片翁熄系列乱在线视频 | 韩日精品视频 | 日韩亚洲欧美在线爱色 | 国内精品视频 | 欧美成人26uuu欧美毛片 | 五月婷六月丁香狠狠躁狠狠爱 | 亚洲一区二区在线 | 国产a精品 | 国产精品1区2区3区 另类视频综合 | 久久只有这里有精品 | 国产一区免费在线观看 | 逼逼网| 一区二区三区高清在线观看 | 亚洲国产欧美在线 | 日本高清视频www夜色资源网 | 粉色视频高清大全免费观看1 | 精品日韩在线观看 | 国产中文字幕在线 | 欧美同性精品xxxx | 天天干 夜夜操 | 日本欧美一二三区色视频 | 欧美成人一品道免费视频 | 亚洲免费视频在线观看 | 色视频免费版高清在线观看 | 国产精品资源网站在线观看 |