python3 文件和流
流:
打開文件:
open(file, mode=‘r‘, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None),打開一個文件並返回相應的對象;
file:文件名;
mode:打開模式,默認只讀;
buffering:設置緩沖;
encoding:設置編碼;
errors:報錯級別;
newline:區分換行符;
closefd:傳入的file參數類型;
opener:
mode參數:
r:讀取模式(默認);
w:寫入模式;文件存在從頭開始寫入,不存在創建寫入;
x:新建一個文件寫入,存在則異常
a:附加寫入,不存在則創建寫入;
b:二進制模式;
t:文本模式;
+:打開一個文件進行更新(與其他模式結合使用);
r+:打開文件進行讀寫,指針放在開頭,
w+:打開文件進行讀寫,指針放在開頭,文件有內容則刪除;
a+:打開文件進行讀寫,指針放在結尾;
常用方法:fo=open(‘filename‘)
fo.close():關閉文件,對文件操作完必須要關閉打開的文件;
fo.flush():刷新文件內部緩沖,將內部緩沖區數據立刻寫入文件;
fo.fileno():返回一個整型的文件描述符;
next(fo):返回文件下一行;
fo.read([size])
fo.readline([size]):讀取整行包括\n,如果指定則返回字節數;
fo.readlines():讀取所有行包括\n,返回一個以每行為元素組成的列表;
fo.seek(offset[,whence]):方法用於移動文件讀取指針到指定位置,offset偏移量,whence偏移的起始位置,0開頭、1當前、2末尾;
fo.tell():返回當前的位置數;
fo.wirte(str):將字符串寫入文件,文件關閉刷新之後,字符串才真正被寫入;
fo.wirtelines([str]):向文件中寫入一序列的字符串,換行需要制定換行符,["hello\n","world"];
fo.truncate([size]):從文件首字符開始截取指定的字符數,後面的字符會被刪除,無參數則從當前位置開始;
fo.isatty():檢測文件是否連接到一個終端設備,是返回True;
python3 文件和流