python_10_文件操作
文件操作邏輯?
如何打開文件?
?????? 在windows中,默認格式gbk,python3.x默認unicode(utf-8),要指定編碼值
?????? 語法:
f = open(“文件名”, 打開模式,encoding = “utf-8”)
????? -- 打開文件,賦給f,f叫文件句柄(文件內存對象)
????????????? f.操作
????????????? f.close()??????? -- 要手動關閉
?????? - 句柄包含(文件名字,大小,字符編碼,硬盤上起始位置)
?????? 另:
????????????? with open(“文件名”, 打開模式,encoding = “utf-8”) as f:
-- 可以同時打開多個文件,逗號隔開
???????????????????? f.操作
????????????? -- 不需要手動關閉,有個強制縮進
?????? 打開模式:
???????????????????? -- r 讀 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?- 不寫默認,只能讀取
???????????????????? -- w 寫 ???????????????????????????? - 沒有新建一個,有寫入并且自動清空原本數據,只能寫
???????????????????? -- a 追加 ????????????????????????? - 寫入數據追加在文件最后,只能追加
???????????????????? -- r+? 讀寫? ????????????????????? - 寫入數據以追加方式加入,可讀(最多)
???????????????????? -- w+ 寫讀 ? ? ? ? ? ? ? ? ? ? ? ?- 先新建文件,寫入數據然后可以讀(少用)
???????????????????? -- a+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 追加讀 (和r+效果一樣)
???????????????????? -- rb? 二進制讀 ? ? ? ? ? ? ? ? ?- 用于網絡數據傳輸
???????????????????? -- wb 二進制寫 ? ? ? ? ? ? ? ? - write(字符.encode(“utf-8”)),或在字符前面多個字符b
?????? 二進制和字符串嚴格區分
????????????? -rU ?????????????? - 換行字符適配,在linux中\n換行,在window中\r\n換行
?????? ?????? -- 文件內容存取機制,插入數據,不會往后擠,而是覆蓋掉
對文件有哪些操作?
?????? -- f.read(數字)?????? - 寫入數字就讀取幾個字符,不寫讀全部,f.readable(),文件可讀?
- 讀取所有的值,第一次讀取從文件指針出讀,讀完指針已經指向文件最后,所以第二次讀取無值,可以通過文件指針操作把指針指向起點
-- f.readline()?? ????????? - 讀取文件一行數據
-- f.writ(字符) ? ? ? ? ? ? - 打開文件有w,a模式,才能寫,f.writable文件可寫?
-- f.tell() ? ? ? ? ? ? ? ? ? ? - 打印指針當前位置,和seek方法一起使用
-- f.seek(數字)?????? ?- 指針回到指定位置,f.seekable()判斷指針可移動?fttp和設備文件名
-- f.encoding ? ? ? ? ? ? - 打印文件編碼
-- f.fileno() ? ? ? ? ? ? ? ? - 返回操作系統文件句柄編號
-- f.name() ? ? ? ? ? ? ? ? - 打印文件名字
-- .flush ? ? ? ? ? ? ? ? ? ? - 強制把緩沖數據寫入磁盤,對數據的時效性要求高
-- f.truncate() ? ? ? ? ? ?- 不寫默認清空,從頭截斷多少個字符,斷點后面內容清空
怎么用flush寫一個在屏幕上打印的進度條?
import sys,time for i in range(20):sys.stdout.write('*')sys.stdout.flush()time.sleep(0.2)如何更改文件內容?
如何用第二中方法更改文件內容?
? f =open(‘原文件’,’r’,encoding = ‘utf-8’)
? f_new = open(‘新文件’,’w’, encoding = ‘utf-8’)
? for line in f:
??????????????? if “想要修改的地方” in line:
?????????????????????? line = line.replace(“修改的內容”)
??????????????? f_new.write(line)
f.close
f_new.close
轉載于:https://www.cnblogs.com/2bjiujiu/p/6668420.html
總結
以上是生活随笔為你收集整理的python_10_文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自然语言10_分类与标注
- 下一篇: Selenium2+python自动化5