python中的文件操做
1、文件代開及修改
1. f = open("文件路徑", mode="r、w、a", encoding("編碼集"))
- 文件路徑:能夠是相對路徑(在寫項目時必定要用相對路徑)也能夠是絕對路徑
- mode:r、w、a、rb、wb、ab、r+、w+、a+
- encoding:與文件對應的編碼集
- f.close 對文件操做完成後要及時關閉,否則會一直佔用系統內存
- 只能打開一個文件
- f 文件句柄,操做文件時的一個」把「
2. with open ("文件路徑", mode="r、w、a", encoding("編碼集")) as f1,open ("文件路徑", mode="r、w、a", encoding("編碼集")) as f2
- 面向對象中的上下文管理
- 文件路徑:能夠是相對路徑(在寫項目時必定要用相對路徑)也能夠是絕對路徑
- mode:r、w、a、rb、wb、ab、r+、w+、a+
- encoding:與文件對應的編碼集
- 能夠打開多個文件,也能夠同時將一個文件打開兩次
- with open不用手動輸入f.close
- f 文件句柄,操做文件時的一個」把「
3. 文件修改
import os編碼
- os.remove(f1) 刪除文件
- os.rename(f"old",」new「) 給文件重命名(和repalce用法相似)
2、文件的讀和寫(r、rb、w、wb、a、ab)
rb、rb、ab 不用指定編碼集對象
1. r或rb
- f.read() 一次所有讀出來,內存容易溢出,()內能夠輸入數字 數字表明要讀取字符的個數,會隨着字符個數換行
- f.readline() 一行一行的讀,()內能夠輸入數字 數字表明要讀取字符的個數,數字再大也不會讀到下一行
- for i in f: 利用 for 循環一行一行讀取全部內容
- f.readlines() 一次將全部內容讀取到一個列表中,()內能夠輸入數字,可是根據數字範圍定位到文件的對應行數,讀取時只會一行爲單位進行
2. w或rb
- 在第一次寫的時候會清除文件全部的內容,只要不f.close就會一直繼續日後寫
- 若是要寫的文件不存在會在選定路徑裏建立一個新的文件
- 寫入的時候不能寫入數字
3. a或ab
- 在文件的最後追加寫
3、 文件的讀寫、寫讀、追加寫讀
1. 讀寫 r +
- 先寫後讀 寫會從頭開始而且會覆蓋文件的內容,讀會從寫的結束位置開始(錯誤)
- 先讀後寫 讀完後寫會在文件最後開始寫
2. 寫讀
- 先讀後寫,先寫後讀,都是清空寫
- 除非本身手動移動光標否則怎麼也讀不到文件內容
3. 追加寫讀
- 先讀後寫,先寫後讀,都是在文件後面追加寫
四文件的其餘操做
- f.tell 查看光標的位置
- 光標的操做 seek
- seek(0, 0) 把光標移動到文件的開始位置
- seek(0, 1) 把光標移動到光標的當前位置
- seek(0, 2) 把光標移動到文件的結束位置
- seek(n) 把光標移動到距離開始位置n個字節的位置
歡迎關注本站公眾號,獲取更多信息