1. 程式人生 > >Python 文件I/O

Python 文件I/O

image 文件的 san 叠代 span neu ria 10個 n)

一,對文件進行操作的流程:

第一,建立文件對象。

第二,調用文件方法進行操作。

第三,不要忘了關閉文件。(文件不關閉的情況下,內容會放在緩存,雖然Python會在最後自動把內容讀到磁盤,但為了以防萬一,要養成關閉文件的習慣)

eg:f = open(‘1,txt‘,encoding =‘utf-8‘)

print(f.read())

f.close()

二,不同模式打開文件的完全列表:

註:只要沾上r,文件不存在的時候,打開都會報錯


只要沾上w,把文件內容清空

技術分享圖片

不同模式及不同模式下的指針位置:

技術分享圖片

三,文件操作方法

f.seek(n)  #查看光標定位

f.tell() #查看當前文件中指針的位置
f.truncate() #清空文件內容
f = open(‘file1,txt‘,encoding =‘utf-8‘)
print(f.tell()) #光標默認在起始位置
f.seek(10) #把光標定位到第10個字符之後
print(f.tell()) #輸出10
f.close()
常用操作:
f = open(‘file.txt‘,‘a+‘)

f.seek(0) #把光標定位到起始位置
f.truncate() #清空文件內容
f.read() #讀取文件裏面所有的內容,大文件時不要用,因為會把文件內容都讀到內存中,內存不夠的話會把內存撐爆

f.readline()#讀取一行的內容
f.readlines()#讀取所有文件內容,返回一個list,元素是每行的數據,大文件時不要用,
因為會把文件內容都讀到內存中,內存不夠的話,會把內存撐爆
f.readable()#判斷文件是否可讀
f.write() #寫入內容 寫的時候傳入一個str類型
f.writelines() #str list dic 元組類型(寫的時候傳入一個可叠代的對象)

大文件時,讀取文件高效的操作方法:

f = open(‘file.txt‘)
for line in f:
print(line)
這樣的話,line就是每行文件的內容,讀完一行的話,就會釋放一行的內存

with使用:在操作文件的時候,經常忘了關閉文件,這樣的就可以使用with,它會在使用完這個文件句柄之後,自動關閉該文件,使用方式如下:

with open(‘file.txt‘,‘r‘) as f:#打開一個文件,把這個文件的句柄付給f

for line in f: print(line) with open(‘file.txt‘) as fr,with open(‘file_bak‘,‘w‘) as fw: #這個是多文件的操作,打開兩個文件,fr是讀file.txt,fw是新建一個file_bak文件 for line in fr:#循環file.txt中的每一行 fw.write(line)#寫到file_bak文件中
 

Python 文件I/O