python中文件的讀寫和操作


文件讀取和操作

  對文件的操作一般分為三種情況:打開文件,讀取文件(讀取)和關閉文件。再python中對文件的默認操作方法時open(),默認open()是打開文件並且是只讀模式。具體的操作如下:

  •   r:只讀模式
  •   w:只寫模式  【不可讀,不存在就新創建,已存在就清空內容替換】
  •   x:只寫模式  【不可讀,不存在就新創建,已存在就報錯】
  •   a:增加模式  【可讀,不存在就新創建,已存在就增加內容】

“+”表示可以同時讀寫某個文件:具體: 

  •   r+:讀寫
  •   w+:寫讀
  •   x+:寫讀
  •   a+:寫讀

 

具體案例如下:

針對-----w:只寫模式  【不可讀,不存在就新創建,已存在就清空內容替換】

1、先查找文件是否存在
2、如果文件不存在,那么就先創建文件

f=open('log.txt','w')  # 1、先查找log.txt文件是否存在,
f.write('hello sun')  #2、如果不存在,就會新建一個log.txt文件,並將hello sun寫進文件中
f.close()

  輸出結果:

 

 3、如果文件存在,如果是w模式,那么就會將文件中原有的內容替換掉(將之前的內容刪掉,再寫新的內容進去);當然替換的過程我們是看不見的,只能看見結果。

這是我們再來用代碼實現一下(一樣的代碼再運行一下,只要改寫一下f.write(world)即可):

f=open('log.txt','w')  #先查找log.txt文件是否存在,
f.write('world')  #如果存在,就會直接將log.txt文件里面的hello sun替換成world
f.close()

  輸出結果:

 

針對---a:增加模式  【可讀,不存在就新創建,已存在就增加內容】

f=open('log.txt','a',encoding='utf-8')  #加入中文時,注意亂碼就加一個encoding='utf-8'

f.write(' 今天也要元氣滿滿')   #空格加到第一行的后面

f.write('\n今天也要元氣滿滿') #加到下一行

f.close()

     輸出結果:

 

針對---r:只讀模式(有以下三種方式)

(1)讀取文件所有的內容:

f=open('log.txt','r',encoding='utf-8')  #亂碼就加一個encoding='utf-8'
print('讀取文件所有的內容:',f.read())

 輸出結果:

 

(2)只讀取第一行的內容:

f=open('log.txt','r',encoding='utf-8')  #亂碼就加一個encoding='utf-8'
print('讀取文件第一行的內容:',f.readline())

  輸出的結果:

 

(3)讀取所有的內容:

f=open('log.txt','r',encoding='utf-8')  #亂碼就加一個encoding='utf-8'

for item in f.readlines():
    print(item.strip()) #strip()去掉空格
f.close()

  輸出結果:

 

PS:with上下文,內部會進行文件的關閉處理,不需要擔心忘記close。

with open('log.txt','r',encoding='utf-8') as f:
    print(f.read())

  輸出結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM