python檔案處理

2021-09-08 02:17:27 字數 1267 閱讀 9406

檔案處理,檔案是作業系統提供一虛擬介面,用於簡化對硬碟的操作,乙個檔案就代表硬碟上的一段二進位制 資料

目的:將資料永久儲存

基本形式:

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...