日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python open函数参数newline_Python open() 函数

發布時間:2024/9/27 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python open函数参数newline_Python open() 函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=T)

模式描述

r

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

rb

以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。

r+

打開一個文件用于讀寫。文件指針將會放在文件的開頭。

rb+

以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。

w

打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

wb

以二進制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

w+

打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

wb+

以二進制格式打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

a

打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。

ab

以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。

a+

打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。

ab+

以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。

缺省時的模式就相當于’rt’。比如’w+b’就是打開文件進入讀寫,把文件清空;’r+b’打開文件,但不把文件清空。

參數buffering是一個可選的參數,用來表示緩沖區的策略選擇。設置為0時,表示不使用緩沖區,直接讀寫,僅在二進制模式下有效。設置為1時,表示在文本模式下使用行緩沖區方式。設置為大于1時,表示緩沖區的設置大小。如果參數buffering沒有給出,使用默認時,會采用下面策略來選擇:

1)對于二進制文件模式時,采用固定塊內存緩沖區方式,內存塊的大小根據系統設備的分配的磁盤塊來決定,如果獲取系統磁盤塊的大小失敗,就使用內部常量io.DEFAULT_BUFFER_SIZE定義的大小。一般的操作系統上,塊的大小是4096或者8192字節大小。

2)對于交互的文本文件(采用isatty()判斷為True)時,采用一行緩沖區的方式。其它文本文件使用跟二進制一樣的方式。

參數encoding是指明對文件編碼,僅適用于文本文件。如果不明編碼方式,默認是使用locale.getpreferredencoding()函數返回的編碼方式。

參數errors是用來指明編碼和解碼錯誤時怎么樣處理。不能在二進制的模式下使用。

1)當指明為’strict’時,編碼出錯則拋出異常ValueError。

2)當指明為’ignore’時,忽略錯誤。

3)當指明為’replace’時,使用某字符進行替代模式,比如使用’?’來替換出錯的。

4)其它相應還有surrogateescape/xmlcharrefreplacs/backslashreplace。

參數newline是用來控制文本模式之下,一行的結束字符。可以是None,’’,\n,\r,\r\n等。

當在讀取模式下,如果新行符為None,那么就作為通用換行符模式工作,意思就是說當遇到\n,\r或\r\n都可以作為換行標識,并且統一轉換為\n作為文本輸入的換行符。當設置為空’’時,也是通用換行符模式工作,但不作轉換為\n,輸入什么樣的,就保持原樣全輸入。當設置為其它相應字符時,就會判斷到相應的字符作為換行符,并保持原樣輸入到文本。

當在輸出模式時,如果新行符為None,那么所有輸出文本都是采用\n作為換行符。如果設置為’’或者\n時,不作任何的替換動作。如果是其它字符,會在字符后面添加\n作為換行符。

參數closefd是用來當給一個文件句柄傳進來時,而當退出文件使用時,而不對文件句柄進行關閉。如果傳遞一個文件名進來,這個參數無效,必定為True方式。

參數opener是用來實現自己定義打開文件方式。這種使用方式比較復雜,比如打開相對目錄的文件,可以采用下面的例子方式:

>>>?import?os

>>>?dir_fd?=?os.open('somedir',?os.O_RDONLY)

>>>?def?opener(path,?flags):

...?????return?os.open(path,?flags,?dir_fd=dir_fd)

...

>>>?with?open('spamspam.txt',?'w',?opener=opener)?as?f:

...?????print('This?will?be?written?to?somedir/spamspam.txt',?file=f)

...

>>>?os.close(dir_fd)??#?don't?leak?a?file?descriptor

總結

以上是生活随笔為你收集整理的python open函数参数newline_Python open() 函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。