天天看點

檔案寫入|學習筆記

開發​者學堂課程【Python 語言基礎 3:函數、面向對象、異常處理:檔案寫入】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/601/detail/8771

檔案寫入

内容介紹:

一、write( )

二、a 表示追加内容

三、x 用來建立檔案

四、+ 為操作符增加功能

輸入:

file_name =' demo .txt '

with open(file_name , encoding= ' utf-8 ') as file_obj:

write()

​​來向檔案中寫入内容

如果操作的是一個文本檔案的話,則 write( ) 需要傳遞一個字元串作為參數

file_obj.write( ' Hello Hello How are you! ' )

先試着執行:報錯,不可讀

注意:

使用 open( ) 打開檔案時必須要指定打開檔案所要做的操作(讀、寫、追加)

如果不指定操作類型,則預設是讀取檔案,而讀取檔案時是不能向檔案中寫入的

r 表示隻讀的

w 表示是可寫的

修改 ​

with open(file_name , ' w ', encoding= ' utf-8 ') as file_obj:

結果如下:

Hello Hello How are you!

使用 w 來寫入檔案時,如果檔案不存在會建立檔案,如果檔案存在則會截斷檔案,截斷檔案指删除原來檔案中的所有内容,比如,先将 ​

with open(file_name , ' w ',

encoding= ' utf-8 ') as file_obj

​ 中的 w 改為 r ,将​

file_name ='

demo .txt '

​中的 demo 改為 demo3 (不存在的檔案)

會報錯,檔案不存在

而如果換成 w ,檔案同樣不存在,但是執行沒有報錯:

***Repl Closed***

同時建立了一個檔案

建立完之後,就寫進内容:

Hello Hello How are you!

write( ) 可以分多次向檔案中寫入内容:

file_obj.write( ' aaa ' )

file_obj.write( ' bbb ' )

file_obj.write( ' ccc ' )

aaabbbccc

如果輸入 ​

file_obj.write(123)

會報錯:隻能寫入字元串

如果要傳遞非字元串的值時,需要調用 str 做一個類型轉換:

file_obj.write(str(123))

Aaabbbccc123

并且 write( ) 寫入不會自動換行,需要加入 \n

file_obj.write( ' aaa\n ' )

file_obj.write( ' bbb\n ' )

file_obj.write( ' ccc\n ' )

file_obj.write(str(123) +' \n' )

write( ) 實際上有傳回值,寫入完成以後,該方法會傳回寫入的字元的個數

r = file_obj.write(str(123) +' \n' )

print(r)

結果是 4

再來輸入:​

r = file_obj.write(str(123) +'123123 \n' ),

​結果是 10

輸入:​

r = file_obj.write('今天天氣真不錯' ),

​結果是 7

如果檔案不存在會建立檔案,如果檔案存在則會向檔案中追加内容

将 w 改為 a ,​

with open(file_name , ' a ', encoding= ' utf-8 ') as file_obj:

如果檔案不存在則建立,存在則報錯

r+    既可讀又可寫,檔案不存在會報錯

w+   在寫的基礎上增加讀的功能

a+    在追加内容上變成可讀的