file watchers怎么默认打开_Python读写文件怎么和我之前学的不一样?
生活随笔
收集整理的這篇文章主要介紹了
file watchers怎么默认打开_Python读写文件怎么和我之前学的不一样?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊上方「藍字」關注我們
Python中對文件的讀寫
讀寫文件前,我們先必須了解一下,在磁盤上讀寫文件的功能都是由操作系統提供的,現代操作系統不允許普通的程序直接操作磁盤。
讀寫文件就是請求操作系統打開一個文件對象(通常稱為文件描述符),然后,通過操作系統提供的接口從這個文件對象中讀取數據(讀文件),或者把數據寫入這個文件對象(寫文件)
1.open() 方法
完整的語法格式為:open(file,mode='r',buffering=-1,encoding=None,errors=None, newline=None, closefd=True, opener=None)? ? ?參數說明:file: 必需,文件路徑(相對或者絕對路徑)mode: 可選,文件打開模式
buffering: 設置緩沖
encoding: 一般使用utf8
errors: 報錯級別
newline: 區分換行符
closefd: 傳入的file參數類型
opener:
例子:try: f = open('xxx.txt', 'r') print(f.read())finally: if f: f.close()說明:由于文件讀寫時都有可能產生IOError,一旦出錯,后面的f.close()就不會調用。所以,為了保證無論是否出錯都能正確地關閉文件,我們可以使用try … finally,不管任何情況都會執行close() 方法來關閉文件
2.使用with open來讀寫文件
with open(file, 'r' ,encoding="utf-8") as f: print( f.read() )說明:使用with open 會自動幫你關閉文件,就不需要繁瑣的每次都去關閉文件,跟上面的try finally 作用一樣。
encoding:指定文件的編碼格式,如果編碼格式不對的話會出現亂碼的情況
read() 一次性讀取整個文件。
1.調用read()會一次性讀取文件的全部內容,如果文件有10G,內存就爆了。2.要保險起見,可以反復調用read(size)方法,每次最多讀取size個字節的內容。例如,read(1024) 每次讀取1024個字節的數據內容。3.調用readline()可以每次讀取一行內容,調用readlines()一次讀取所有內容并按行返回list。因此,要根據需要決定怎么調用。4.如果文件很小,read()一次性讀取最方便;如果不能確定文件大小,反復調用read(size)比較保險;如果是配置文件,調用readlines()最方便3.使用with open 來入寫文件
寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符’w’或者’wb’表示寫文本文件或寫二進制文件:with open(file, 'w') as f: f.write('Hello, world!')要寫入特定編碼的文本文件,請給open()函數傳入encoding參數,將字符串自動轉換成指定編碼字符編碼。4.打開二進制文件
前面講的默認都是讀取文本文件,并且是UTF-8編碼的文本文件。要讀取二進制文件,比如圖片、視頻等等,用’rb’模式打開文件即可:with open("xxx.jpg", 'rb') as f: print(f.read())如果要對二進制文件進行寫入要用rb+模式。打開文件的模式附圖:| type | info |
| r | 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。 |
| rb | 以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。 這是默認模式。一般用于非文本文件如圖片等。 |
| r+ | 打開一個文件用于讀寫。文件指針將會放在文件的開頭。 |
| rb+ | 以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。 一般用于非文本文件如圖片等。 |
| w | 打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭 開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 |
| wb | 以二進制格式打開一個文件只用于寫入。如果該文件已存在則打開文件, 并從開頭開始編輯,即原有內容會被刪除。如果該文件不存在, 創建新文件。一般用于非文本文件如圖片等。 |
| w+ | 打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始 編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 |
| wb+ | 以二進制格式打開一個文件用于讀寫。如果該文件已存在則打開文件, 并從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。一般用于非文本文件如圖片等。 |
| a | 打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。 |
| ab | 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。 |
| a+ | 打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。 |
| ab+ | 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。 |
| 序號 | 方法及描述 |
| 1 | file.close()關閉文件。關閉后文件不能再進行讀寫操作。 |
| 2 | file.write(str)將字符串寫入文件,返回的是寫入的字符長度。 |
| 3 | ?file.read([size])從文件讀取指定的字節數,如果未給定或為負則讀取所有。 |
| 4 | ?file.readline([size])讀取整行,包括 "\n" 字符。 |
| 5 | ?file.readlines([sizeint])讀取所有行并返回列表,若給定sizeint>0,則是設置一次讀多少字節,這是為了減輕讀取壓力。 |
總結
以上是生活随笔為你收集整理的file watchers怎么默认打开_Python读写文件怎么和我之前学的不一样?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch list转tensor_
- 下一篇: docker修改容器映射的端口_解密 D