日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、操作文件的函數/方法

在Python/ target=_blank class=infotextkey>Python中要操作文件需要記住1個函數和3個方法:

序號

函數/方法

說明

01

open

打開文件,并且返回文件操作對象

02

read

將文件內容讀取到內存

03

write

將制定內容寫入文件

04

close

關閉文件

二、read方法——讀取文件2.1》讀取文件步驟

  1. open函數第一個參數是文件名稱(注意:文件名是區分大小寫的),包括路徑;
  • 如果文件存在,返回文件操作對象(利用這個對象操作read方法)
  • 如果文件不存在,會拋出異常

 

2、read方法可以一次性讀入并返回文件的所有內容

3、close方法負責關閉文件(利用這個對象操作close方法)

 

  • 如果忘記關閉文件會造成系統資源消耗,而且會影響到后續對文件的訪問
2.2》代碼示例以及可能遇到的打開文件編碼錯誤

 

準備工作:準備一個文件名叫Hello的text文件,在里面面隨便拿寫點內容,后續好編寫代碼運行。

建立文件步驟:鼠標右擊左側的pythonProject——》New——》點擊File——》寫上文件名——》確定即可——》雙擊文件打開文件編寫內容(我的內容是:Hello World!我是python自學網,歡迎你~)。如下圖:


 


 

1)讀取python文件內容時出現以下錯誤:

UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position 16: illegal multibyte sequence

代碼編寫:

# 1. 打開文件 file = open("HELLO") # 2. 讀取 text = file.read() print(text) # 3. 關閉 file.close()

執行結果:


 

原因:

python中默認的編碼方式為gbk,而windows的默認編碼方式為UTF-8,所以設置python編碼方式為UTF-8就OK了~

修改代碼:加上encoding="UTF_8"

# 1. 打開文件 file = open("HELLO", encoding="UTF-8") # 2. 讀取 text = file.read() print(text) # 3. 關閉 file.close()

修改后執行結果:


 

提示:

 

  • 在開發中,通常會先編寫打開和關閉的代碼,再編寫中間針對的讀和寫操作~
  • 如果不發生編碼錯誤,第一個編寫的代碼是可以正常運行的,就不需要加上encoding=”UTF-8”
2.3》》文件指針
  • 文件指針標記 從哪個位置開始讀取數據
  • 第一次打開文件時,通常文件指針會指向文件的開始位置
  • 當執行了read方法后,文件指針會移動到讀取內容的末尾默認情況下會移動到文件末尾

 

提問:

如果執行了一次read方法讀取了所有內容,那么在此調用read方法還能獲得到內容嗎?

答案:

不能。因為第一次讀取后文件指針移動到了文件的末尾,再次調用不會讀取到任何的內容

讀取文件后文件指針會改變:代碼驗證:

# 1. 打開文件 file = open("HELLO", encoding="UTF-8") # 2. 讀取 text = file.read() print(text) print("+" * 30) text = file.read() print(text) # 3. 關閉 file.close()

執行結果:在分隔線下方并沒有打印出文件內容


 

利用內容長度再來驗證一下:len(text)


 

總結: read方法執行后,會把文件指針移動到文件的末尾,移動到末尾后再調用read方法就獲取不到內容了。

三、open函數——打開文件方式

open函數默認以只讀方式打開文件,并且返回文件對象

3.1》語法格式如下file = open("文件名", "訪問方式")

3.2》第二個參數是打開的模式mode

訪問方式

說明

r

以只讀方式打開文件。文件的指針將會放在文件的開頭,這是默認模式。

如果文件不存在,會拋出異常

w

以只寫方式打開文件。

如果文件存在,會被覆蓋。如果文件不存在,則創建新文件。

a

以追加方式打開文件件。

如果該文件已存在,文件指針將會放在文件的結尾。如果文件不存在,創建新文件進行寫入。

r+

以讀寫方式打開文件。

文件的指針將會放在文件的開頭。如果文件不存在,拋出異常。

w+

以讀寫方式打開文件。

如果文件存在會被覆蓋。如果文件不存在,創建新文件

a+

以讀寫方式打開文件。

如果該文件已存在,文件指針將會放在文件的結尾。如果文件不存在,創建新文件進行寫入。

代碼示范:

1、w = write 寫

# 1. 打開文件 file = open("HELLO", "w", encoding="UTF-8") # 2. 寫入 text = file.write("Python自學網") print(text) # 3. 關閉 file.close()

執行結果:打印寫入的內容返回的是長度,另外文件內容被替換了


 


 

2、a = Append,追加

代碼:

# 1. 打開文件 file = open("HELLO", "a", encoding="UTF-8") # 2. 寫入 text = file.write("Python自學網123") # 3. 關閉 file.close()

執行結果:控制臺沒有數據,在HELLO文件新增加了Python自學網123


 

提示:

后面三個只需有印象就好了,幾乎不會用到,因為后三種會頻繁的移動文件指針,會影響文件的讀寫效率,開發中很多的時候會以只讀、只寫的方式來操作文件。

四、readline方法——按行讀取文件內容4.1》應用場景

read方法默認會把文件的所有內容一次性讀取到內存,如果文件太大,對內存的占用會非常嚴重,此時需要解決可以利用readline方法再利用循環一行一行的把大文件讀取完,一次讀取一行內容不會給內存造成太大壓力。

4.2》readline方法

  • readline方法可以一次讀取一行內容
  • 方法執行后,會把文件指針移動到下一行,準備再次讀取
4.3》讀取大文件的正確步驟# 1. 打開文件 file = open(“文件名”) while True: # 讀取一行代碼 text = file.readline() # 判斷是否督導內容 if not text: break # 每讀取一行的末尾已經有了一個 'n' print(text, end="") # 3. 關閉文件 file.close()

 

代碼示例:

準備工作:把HELLO文件內容修改成如下,方便觀察


 

代碼:

# 1. 打開文件 file = open("HELLO", encoding="UTF_8") while True: # 讀取一行代碼 text = file.readline() # 判斷是否讀到內容 if not text: break # 每讀取一行的末尾已經有了一個 'n' print(text, end="") # 3. 關閉文件 file.close()

執行結果:


 

本篇就到這里吧,Python文件的操作方法使用算是告一段落了,下一篇是文件讀寫案例—復制文件,敬請期待!

如果覺得對你有所幫助就多多支持一下博主吧,讓我保持更多的創作動力!

分享網站:《Python自學網http://www.wakey.com.cn/

適合新手入門到精通 | python全棧體系課程

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定