實際上這是一種誤讀,read()并不是只能生效一次。之所以會有之生效一次的誤解是因為在已經read完所有的字符后,沒有重新打開(open)就接著進行了下一次read,此時指針已經移到了字符串末尾,所以不再能讀取出任何字符了。
'''【思考】:下面的代碼會讀出什么?'''
a = f.read()
b = f.read(-1)
c = f.read(10)
print( a )
print( b )
print( c )
'''
乍一看,會讀出如下數據:
this is a test for the function of 'open()'
this is a test for the function of 'open()'
this is a
【實際上】輸出的是:
'''【解析】:
后兩行空著的原因是:
第一行中的read()函數已經讀完了所有的字符,指針已經移動到了字符串末尾,所以再次讀取已經沒有東
西可讀了。想再次讀取,只能重新打開文件( 用open()函數 ),或者使用seek()函數對指針進行重定向。
根據以上內容便可推知以下代碼的輸出結果了:'''
f = open('E:\\學習資料\\研究生\\小甲魚python\\課程筆記\\5.文件\\test.txt')
b = f.read(5)
print( b )
c = f.read(10)
print( c )
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
