400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python文件讀寫(xiě)五大方法

【Python基礎(chǔ)知識(shí)】Python文件讀寫(xiě)五大方法

  • 發(fā)布: python培訓(xùn)
  • 來(lái)源:python干貨資料
  • 2020-08-05 18:29:42
  • 閱讀()
  • 分享
  • 手機(jī)端入口

Python讀寫(xiě)文件時(shí)非常流行的操作。Python讀文件有3種方法:read()、readline()和readlines()。Python寫(xiě)文件有2種方法:write()和writelines()。

可以先編輯一下文件并寫(xiě)入一些信息。在文本文件“example.txt”中寫(xiě)入如下內(nèi)容:

  1. "Whenever you feel like criticizing anyone,"  
  2. he told me,  
  3. “just remember that all the people in this world  
  4. haven’t had the advantages that you’ve had. 

1、讀取文件

文件對(duì)象的read()方法用于讀取文件,當(dāng)不傳遞任何參數(shù)時(shí),read()方法將讀取整個(gè)文件:

  1. >>> with open('example.txt''r') as f:   # 使用r模式 
  2. ...     print(f.read())   # 將讀取內(nèi)容打印出來(lái) 
  3. ... 
  4. "Whenever you feel like criticizing anyone," 
  5. he told me, 
  6. “just remember that all the people in this world 
  7. haven’t had the advantages that you’ve had. 

read()方法也可以通過(guò)傳遞參數(shù)來(lái)指定讀取的字節(jié)數(shù):

  1. >>> with open('example.txt''r') as f: 
  2. ...     print(f.read(8))   # 讀取8個(gè)字節(jié)的數(shù)據(jù) 
  3. ... 
  4. "Wheneve 

readline()方法用于讀取整行文本:

  1. >>> with open('example.txt''r') as f: 
  2. ...     print(f.readline())   # 僅讀取第一行 
  3. ... 
  4. "Whenever you feel like criticizing anyone," 
  5.  
  6. >>> with open('example.txt''r') as f: 
  7. ...     for _ in range(3):   # 讀取前三行文本 
  8. ...         print(f.readline()) 
  9. ... 
  10. "Whenever you feel like criticizing anyone," 
  11.  
  12. he told me, 
  13.  
  14. “just remember that all the people in this world 

readline()方法同樣可以通過(guò)傳遞參數(shù)來(lái)指定讀取的字節(jié)數(shù):

  1. >>> with open('example.txt''r') as f: 
  2. ...     for _ in range(3): 
  3. ...         print(f.readline(6)) 
  4. ... 
  5. "Whene 
  6. ver yo 
  7. u feel 

readlines()方法用于讀取文件對(duì)象剩余的全部行,以列表的形式返回:

  1. >>> with open('example.txt''r') as f: 
  2. ...     print(f.readlines()) 
  3. ... 
  4. ['"Whenever you feel like criticizing anyone," \n''he told me, \n''“just remember that all the people in this world \n''haven’t had the advantages that you’ve had.'
  5.  
  6. >>> with open('example.txt''r') as f: 
  7. ...     print(f.readline())   # 先使用readline()讀取一行 
  8. ...     print(f.readlines())   # 再使用readlines()讀取剩余的全部行 
  9. ... 
  10. "Whenever you feel like criticizing anyone," 
  11.  
  12. ['he told me, \n''“just remember that all the people in this world \n''haven’t had the advantages that you’ve had.'

2、寫(xiě)入文件

使用Python寫(xiě)入文件時(shí),需要以寫(xiě)“w”或附加“a”模式打開(kāi)文件。需要謹(jǐn)慎使用“w”模式,因?yàn)樗鼤?huì)覆蓋文件(如果文件已存在),該文件之前的所有數(shù)據(jù)都將被刪除。寫(xiě)入字符串或字節(jié)序列(對(duì)于二進(jìn)制文件)是使用write()方法實(shí)現(xiàn)的,返回寫(xiě)入文件的字符數(shù):

  1. >>> with open('example.txt''w') as f:   # 使用'w'模式 
  2. ...     f.write('I love Python'
  3. ...     f.write('Hello!'
  4. ... 
  5. 13 
  6. 6 

打開(kāi)文本文件“example.txt”,會(huì)發(fā)現(xiàn)文件中的內(nèi)容已被覆蓋了,原先的所有數(shù)據(jù)都被刪除了,此時(shí)文件中的內(nèi)容是剛剛使用write()方法寫(xiě)入的。

writelines()方法用于一次性寫(xiě)入多行文件:

  1. >>> with open('example.txt''a') as f:   # 使用'a'追加模式 
  2. ...     f.writelines(['Over and Over''DealBreaker']) 
  3. ... 

再次打開(kāi)文本文件“example.txt”,會(huì)發(fā)現(xiàn)文件中原先的數(shù)據(jù)沒(méi)有被刪除,使用write()方法寫(xiě)入的數(shù)據(jù)被追加到了原數(shù)據(jù)的末尾。

文章“【Python基礎(chǔ)知識(shí)】Python文件讀寫(xiě)五大方法”已幫助

>>本文地址:http://hqfphsz.com/zhuanye/2020/51378.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME