ql的python学习之路-day5
生活随笔
收集整理的這篇文章主要介紹了
ql的python学习之路-day5
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文件操作
文件操作流程:
1.打開文件得到文件句柄并賦值變量
2.通過句柄對文件進(jìn)行操作
3.關(guān)閉文件
打開的只是儲存在計(jì)算機(jī)里的文件對象,必須賦值一個(gè)變量才能操作,變量通常用f表示,賦值f的文件對象也叫做文件句柄。
1 #!/usr/bin/env python 2 # -*- coding utf-8 -*- 3 # Author:qinjiaxi 4 f = open('hh','r',encoding = 'utf-8')#文件句柄 5 '''第一個(gè)參數(shù)是文件名,第二個(gè)是模式,第三個(gè)跟編碼有關(guān)utf-8 6 1.r的是讀是默認(rèn)的模式 7 2.w是寫要覆蓋之前的內(nèi)容這個(gè)要慎用 8 3.a是追加的意思在啟動該模式寫文件時(shí)不清空之前的文件內(nèi)容,而是在后面追加內(nèi)容 9 ''' 10 #讀 11 data = f.read() 12 #寫 13 data2 = f.write("hello") 14 #append追加 15 data3 = f.write('hh') 16 f.close() 17 '''需求: 18 讀取文件前10行 19 ''' 20 #low loop 21 for index,line in enumerate(f.readlines()): 22 if index == 10: 23 print('----我是分割線-----') 24 continue 25 print(line.strip()) 26 #high loop 27 count = 0 28 for line in f: 29 if count == 10: 30 print('----我是分割線-----') 31 count += 1 32 continue 33 print(line.strip()) 34 count += 1?定義一個(gè)敏感詞過濾器的函數(shù)
1 #!/user/bin/env python 2 #-*-coding:utf-8 -*- 3 #Author: qinjiaxi 4 def text_create(name, msg): 5 path ="C:\\Users\\Administrator\\Desktop\\" 6 file = path + name + ".txt" 7 text = open(file, 'w') 8 text.write(msg) 9 text.close() 10 # text_create('1111', 'hello world') 11 def fiter(word, content = 'lame', p = 'Awesome'): 12 return word.replace(content, p) 13 def censored_text(name, msg): 14 clean_msg = fiter(msg) 15 text_create(name, clean_msg) 16 censored_text('Try', 'lame!lame!lame!')?句柄操作及緩沖進(jìn)度模擬
1 '''句柄操作''' 2 f.tell()#打印當(dāng)前光標(biāo)位置 3 f.seek()#默認(rèn)回到起始位置0,括號里面可以帶數(shù)字 4 f.encoding#打印文件的編碼方式 5 f.flush()#強(qiáng)制將緩存的內(nèi)容刷新到硬盤(緩存中有大小,默認(rèn)當(dāng)寫入內(nèi)容達(dá)到內(nèi)容大小的時(shí)候才會刷新到硬盤中) 6 f.truncate()#括號中不寫清空文件;括號中帶數(shù)字n表示從開頭截取n個(gè)字符 7 8 ''' 9 r+:讀寫追加到后面(用的最多) 10 w+:寫讀,清除內(nèi)容寫(平時(shí)用的少基本不會用) 11 a+:追加讀(基本不用) 12 rb:二進(jìn)制方式讀,此模式用在網(wǎng)絡(luò)傳輸中,python3中只能用二進(jìn)制進(jìn)行,python2可以用字符和二進(jìn)制格式 13 二進(jìn)制是指用二進(jìn)制編碼的而不是0101的格式 14 wb:以二進(jìn)制的方式寫入,字符串轉(zhuǎn)為二進(jìn)制需要編碼----str.encode() 15 ''' 16 '''模擬進(jìn)度行緩沖效果''' 17 import sys,time 18 f = open('hh','w',encoding = 'utf-8') 19 for i in range(20): 20 sys.stdout.write('#') 21 time.sleep(0.1) 22 sys.stdout.flush()#強(qiáng)制刷新緩沖 23 #注:print打印是默認(rèn)換行的,stdout是標(biāo)準(zhǔn)輸出、stdout是標(biāo)準(zhǔn)輸入,這個(gè)標(biāo)準(zhǔn)輸入和輸出是指往屏幕上輸?文件修改
思路:打開兩個(gè)文件句柄,第一個(gè)以讀的模式打開,第二個(gè)以寫的模式打開,然后循環(huán)每行,再判斷需要修改的內(nèi)容,寫入每行,直接貼源碼:
1 f = open('hh', 'r', encoding='utf-8') 2 f_new = open('hh.bak', 'w', encoding='utf-8') 3 for line in f: 4 if line == '我的名字叫秦朗': 5 # if '我的名字叫秦朗' in line: 6 line = line.replace('我的名字叫秦朗','我的名字叫秦家喜') 7 f_new.write(line) 8 f.close() 9 f_new.close()?
轉(zhuǎn)載于:https://www.cnblogs.com/qinlangsky/p/9446462.html
總結(jié)
以上是生活随笔為你收集整理的ql的python学习之路-day5的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对公账户
- 下一篇: VB 获取文件名后缀