python使用open()這個函數來打開文件返回對象:
open 第二參數
"r" | 以只讀方式打開文件 |
"w" | 以寫入方法打開文件,會覆蓋已儲存的內容 |
"x" | 如果存在該文件,打開會引發異常 |
"a" | 以寫入模式打開文件,如果存在該文件,會在末尾添加 |
"b" | 以二進制模式打開文件 |
"t" | 以文本模式打開文件(默認) |
"+" | 可讀寫模式(可添加到其他模式中去) |
"U" | 通用換行符支持 |
文件對象的方法:
close() | 關閉文件 |
read(size=-1) | 從文件中讀取size個字符,當未給定size或給定負值時,讀取剩余的所有字符,然后作為字符返串回 |
readline() | 從文件中讀取一整行字符串
|
write(str) | 將字符串str寫入文件中 |
writelines(seq) | 向文件中寫入字符串序列seq,seq應該是一個返回字符串的可迭代對象 |
seek(offset,from) | 在文件中移動文件指針,從from(0代表文件起始位置,1,代表當前位置,2代表文件末尾)偏移offset個字節 |
tell() | 返回當前在文件中的位置 |
文件的讀取與定位:
1 >>>f=open("d:/文本文件/1.txt") 2 >>>f.read() 3 '你好,朋友\nhello friend' 4 >>> f.tell() 5 24 6 >>>f.seek(0,0) #將文件指針設置到起始位置 7 0 8 >>>f.read(5) #按字節為單位讀取5個字節 9 '你好,朋友' 10 11 >>> f.readline() #讀取一行(即從文本指針到\n) 12 '你好,朋友\n'
13
14
15 >>>f.seek(0,0)
16 >>>for each_line in f:
17 print(each_line) #使用迭代來返回每一行文本
文件的寫入:
如果寫入文件,確保以“w”或“a”模式打開 ,然后調writer()函數
1 f=open("d:/文本文件/1.txt",“w”) 2 3 f.write("大家好") 4 5 f.close()
實戰: