ql的python学习之路-day5
生活随笔
收集整理的這篇文章主要介紹了
ql的python学习之路-day5
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文件操作
文件操作流程:
1.打開文件得到文件句柄并賦值變量
2.通過句柄對文件進行操作
3.關閉文件
打開的只是儲存在計算機里的文件對象,必須賦值一個變量才能操作,變量通常用f表示,賦值f的文件對象也叫做文件句柄。
1 #!/usr/bin/env python 2 # -*- coding utf-8 -*- 3 # Author:qinjiaxi 4 f = open('hh','r',encoding = 'utf-8')#文件句柄 5 '''第一個參數是文件名,第二個是模式,第三個跟編碼有關utf-8 6 1.r的是讀是默認的模式 7 2.w是寫要覆蓋之前的內容這個要慎用 8 3.a是追加的意思在啟動該模式寫文件時不清空之前的文件內容,而是在后面追加內容 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?定義一個敏感詞過濾器的函數
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!')?句柄操作及緩沖進度模擬
1 '''句柄操作''' 2 f.tell()#打印當前光標位置 3 f.seek()#默認回到起始位置0,括號里面可以帶數字 4 f.encoding#打印文件的編碼方式 5 f.flush()#強制將緩存的內容刷新到硬盤(緩存中有大小,默認當寫入內容達到內容大小的時候才會刷新到硬盤中) 6 f.truncate()#括號中不寫清空文件;括號中帶數字n表示從開頭截取n個字符 7 8 ''' 9 r+:讀寫追加到后面(用的最多) 10 w+:寫讀,清除內容寫(平時用的少基本不會用) 11 a+:追加讀(基本不用) 12 rb:二進制方式讀,此模式用在網絡傳輸中,python3中只能用二進制進行,python2可以用字符和二進制格式 13 二進制是指用二進制編碼的而不是0101的格式 14 wb:以二進制的方式寫入,字符串轉為二進制需要編碼----str.encode() 15 ''' 16 '''模擬進度行緩沖效果''' 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()#強制刷新緩沖 23 #注:print打印是默認換行的,stdout是標準輸出、stdout是標準輸入,這個標準輸入和輸出是指往屏幕上輸?文件修改
思路:打開兩個文件句柄,第一個以讀的模式打開,第二個以寫的模式打開,然后循環每行,再判斷需要修改的內容,寫入每行,直接貼源碼:
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()?
轉載于:https://www.cnblogs.com/qinlangsky/p/9446462.html
總結
以上是生活随笔為你收集整理的ql的python学习之路-day5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对公账户
- 下一篇: [python3]读取docx每个段落下