檔案處理,檔案是作業系統提供一虛擬介面,用於簡化對硬碟的操作,乙個檔案就代表硬碟上的一段二進位制 資料
目的:將資料永久儲存
基本形式:
1.開啟檔案:方法一
open(r『檔案路徑』,mode='rt',encoding='utf-8')
2.管理上下文:
with open(r『檔案路徑』,mode='rt',encoding='utf-8')
可以不用寫closed
預設情況下:預設為t模式。即文字操作模式
r==rt 唯讀文字
w==wt 只寫文字
a==at 追加為文字
無論是讀還是寫,都需要指定編碼方式,如果不指定,windows預設為gbk,linux預設為utf——8
運算元據都是以字元為單位
write(『字元』+『\n』),必須為字元,\n為回車符
a和w都是寫入模式,如果檔案不存在,都會建立新檔案,不同的是,w會清空原檔案,a不會清空,且a會將游標移動到檔案的末尾
判斷乙個字串是否為數字開頭,str[0].isdigit
b模式,表示位元組模式,與文字相同,都必須與rwa連用
rb 唯讀位元組模式
wb 只寫位元組模式
ab 追加只寫位元組模式
b模式可以操作任意型別的檔案
b模式下不能新增encoding引數(不允許設定編碼引數)
讀寫都以位元組為單位
w+開啟就清空,所以不能讀到東西
a+。開啟游標會移動到末尾,所以不能讀到讀寫
r+可能會覆蓋資料
with巢狀時,注意不要對同乙個檔案進行操作
基於cmd輸入的引數
import sys
sys.ar**,第乙個引數預設就是當前執行檔案
f.name獲取檔案路徑
f.flush()刷出,立即將資料寫入硬碟,可以保證資料不丟失,但是效率降低
作業系統會在檔案關閉時一次寫入,當作業系統的快取滿了也會寫入,這樣能減少i/o操作
f.closed檔案是否關閉
f.encoding獲取檔案的編碼
f.buffer獲取緩衝區
檔案的修改:讀取檔案資料到記憶體
2.進行修改
3.將修改後的資料寫回檔案中
二:讀取一行,修改一行,修改完馬上寫入硬碟,避免了記憶體溢位的問題
os.remove()刪除原始檔
os,rename('原始檔','目標檔案')將檔案重新命名
較小的檔案推薦一次性讀到記憶體進行修改,減少i/o操作,較大的檔案必須使用第二
python檔案處理
def cal input input.txt output output.txt cal方法為主程式,推薦這樣做而不是python.exe xx.py 預設引數為python目錄的兩個txt,如為其他檔案自己指定。infile file input,r 開啟源資料檔案 outfile file o...
python 檔案處理
1.開啟檔案 open a.txt 當前目錄下的a.txt open root a.txt 開啟某個目錄下的檔案 2.按行顯示檔案 a open a.txt a.readline ni hao n a.readline wo xianzai hen xiang ni n a.readline ni ...
Python檔案處理
open name mode buf read size readline size readlines size 這裡的size是指,io定義的default buffer size為單位大小 iter 迭代器迭代每行 write str writelines sequwence of strin...