檔案操作
+模式: r+t w+t a+t r+b w+b a+b
可讀可寫,其他功能與人,r,w,a相同
f.seek(offset,whence) 檔案指標移動 offest的單位為bytes whence是參照物
f.seek(3,0) whence預設值為0 0:檔案開頭開始 1:當前指標位置 2:參照末尾
強調:其中whence = 1 和 whence = 2 只能在b模式下使用,除非offest =0 是都可以
f.seek(-2,2)當whence = 2 時,offset需要用負數表示
f.tell()每次統計都是從檔案開頭到當前指標所在位置
注:只有在t模式下的read(n),n才代表字元的個數,除此之外其他但凡涉及到檔案指標的都已bytes為單位
f.truncate(9) 固定參照檔案開頭,9代表9bytes
修改檔案:
方法一:先將原檔案內容一次性讀入記憶體,在記憶體修改完成後覆蓋寫回原檔案
缺點:檔案過大的情況下會占用過多的記憶體空間
優點:修改期間檔案內容始終只有乙份
with open('a.txt') as read_f:data=read_f.read()
data=data.replace('alex','sb')
with open('a.txt') as write_f:
write_f.write(data)
方法二:以讀的方式開啟原檔案,寫的方式開啟新檔案,從原檔案中迴圈讀取每一行內容, 修改後寫入新檔案,然後刪除原檔案,把新檔名命名為原來的檔名
缺點:修改期間檔案內容有兩份
優點:記憶體中同一時間只有一行內容
import oswith open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
for line in read_f:
line=line.replace('alex','sb')
write_f.write(line)
os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')
函式的應用
1.什麼是函式?
在程式中,函式就是具備某一功能的工具,函式的使用必須遵循先定義,後呼叫的原則
2.為何使用函式?
不用函式的問題:
①.程式冗長
②.擴充套件性差
③.可讀性差
3.如何使用:先定義後使用
def 函式名(引數,引數……):
功能描述
引數描述
return:返回值描述
**塊return 返回值
4.定義:
沒有定義而直接引用的函式名,相當於引用乙個不存在的變數名
①函式的定義階段:不執行函式體**,但會檢測函式體的語法
②呼叫階段:執行函式體**
引數:函式體接收外部值的乙個媒介
函式定義的三種形式:
1.無引數函式:在定義階段,括號內沒有引數
注意:定義時無參,意味著呼叫時也無需傳入引數
應用:如果函式體**邏輯不需要外部傳參值時,用無引數函式
2.有引數函式:在函式定義時,括號內有引數
注意:定義時有參,意味著呼叫時也需要傳參
應用:如果函式體**邏輯需要外部傳參值時,需要有引數函式
3.空函式:
def func():
pass
用於結構的構建,先搭好結構,後期再填**
Python基礎之檔案操作
python的檔案操作還是比較簡單的基本分為三步 開啟,讀寫,關閉 檔案開啟 f open db r 開啟 f.read 讀 f.close 關閉 為了避免程式設計師忘記最後一步關閉,優雅的python使用了以下語句 with open db r as f,open db2 r as f2 opra...
python基礎之檔案操作
開啟檔案並輸出檔案內容模板 f open flie mode r encoding utf 8 data f.read 返回整個檔案資料 data f.readlines 以列 式,返回整個檔案資料 print data f.close flie檔案路徑 相對路徑或者絕對路徑 mode檔案開啟模式 ...
Python基礎之檔案操作
1 開啟檔案的方法 第一種 開啟檔案執行完命令後,需要關閉檔案,否則會一直占用記憶體空間 f open data 1.txt r encoding utf 8 後面的r 表示開啟檔案的模式是讀寫,encoding 8 是指定編碼格式,因為用open 函式開啟,open 函式會去找系統的預設編碼,wi...