91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中如何使用open函數對文件處理

發布時間:2022-06-02 18:56:21 來源:億速云 閱讀:231 作者:iii 欄目:開發技術

這篇“python中如何使用open函數對文件處理”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python中如何使用open函數對文件處理”文章吧。

1.open()

python打開文件使用open()函數,返回一個指向文件的指針。該函數常用以下三個參數。

1.1 參數1

目標文件的路徑+名字。最好使用r"路徑"這種原始字符串寫法,防止有轉義字符影響實際路徑。

1.2 參數2

操作文件的方式mode=‘方式’。mode=可以省略。下面對操作文件的方式進行詳細說明:

(1)r

以只讀方式打開文件。文件的指針將會放在文件的開頭。這是open默認模式。如果文件不存在,會報錯。

(2)rb

以二進制只讀方式打開一個文件。文件指針將會放在文件的開頭。注意這種方式不能使用encoding,不然會報錯。

同樣的內容使用一般方式和二進制的方式打開。

fp = open(r"E:\test.txt",'r',encoding='utf-8')
content = fp.readline()
print(content)

輸出:加油,好好干!

fp = open(r"E:\test.txt",'rb')
content = fp.readline()
print(content)

輸出:b’\xe5\x8a\xa0\xe6\xb2\xb9\xef\xbc\x8c\xe5\xa5\xbd\xe5\xa5\xbd\xe5\xb9\xb2\xef\xbc\x81’

(3)r+

以讀寫方式打開一個文件。文件指針將會放在文件的開頭。直接寫入會覆蓋文件開頭的內容。

原始內容:

加油,好好干!別放棄

fp = open(r"E:\test.txt",'r+',encoding='utf-8')
fp.write("開心吧")
fp.close()
fp = open(r"E:\test.txt", 'r', encoding='utf-8')
content = fp.readline()
print(content)
fp.close()

執行后:

開心吧好好干!別放棄

(4)rb+

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

(5)w

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

(6)wb

以二進制寫入方式打開一個文件。如果該文件已存在,則將其覆蓋。如果該文件不存在,則創建新文件。
(7)w+

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

原始內容:

開心吧好好干!別放棄

fp = open(r"E:\test.txt",'w+',encoding='utf-8')
fp.write("認真一點")
fp.close()
fp = open(r"E:\test.txt", 'r', encoding='utf-8')
content = fp.readline()
print(content)
fp.close()

執行后直接覆蓋所有原始內容:

認真一點

(8)wb+

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

(9)a

以追加方式打開一個文件。如果文件已存在,文件指針將會放在文件結尾。即:新的內容將會被追加到已有的內容之后。如果該文件不存在,則創建新文件可用于寫入。注意,不能讀,讀會出錯。

(10)a+

以讀寫方式打開一個文件。如果文件已存在,文件指針將會放在文件結尾。即:新的內容將會被追加到已有的內容之后。如果該文件不存在,則創建新文件可用于讀寫。

原始內容:

認真一點

fp = open(r"E:\test.txt",'a+',encoding='utf-8')
fp.write("你就離成功近一點")
fp.close()
fp = open(r"E:\test.txt", 'r', encoding='utf-8')
content = fp.readline()
print(content)
fp.close()

執行后追加:

認真一點你就離成功近一點

這時候,指針放在文件尾部,直接讀取會沒有內容,需要將指針移動(seek)到文件的頭部:

with open(r"E:\test.txt",'a+',encoding='utf-8') as fp:
    fp.seek(0,0)
    content = fp.readline()
    print(content)

(11)ab+

以二進制讀寫方式打開一個文件。如果文件已存在,文件指針將會放在文件結尾。即:新的內容將會被追加到已有的內容之后。如果該文件不存在,則創建新文件可用于讀寫。

1.3 參數3

編碼的方式,常用utf-8,gbk等。如:encoding=‘utf-8’

如果是二進制的方式,這個參數不需要填,填了還會報錯。

2.with open() as

這是open()的一種升級用法,控制塊結束的時候文件會自動關閉,不需要顯示地調用close()關閉文件。這種方法更方便使用,所以推薦大家使用這種方法。

with open(r"E:\test.txt",'r',encoding='utf-8') as fp:
    content = fp.readlines()

3.open函數常用的方法

3.1 讀

文件內容:

認真一點你就離成功近一點
啊啊啊啊啊啊啊啊啊啊啊
fffffffffff

(1)read()

一次性讀取整個文件內容,將整個文件放到一個字符串中。使用read(size)方法,返回文件中的前size個字符:

content = fp.read()

輸出:

認真一點你就離成功近一點
啊啊啊啊啊啊啊啊啊啊啊
fffffffffff

(2)readline()

每次讀取一行內容。

content = fp.readline()

輸出:

認真一點你就離成功近一點

(3)readlines()

一次性讀取整個文件內容到一個迭代器以供我們遍歷(讀取到一個list中,以供使用,比較方便)

content = fp.readlines()

輸出;

[‘認真一點你就離成功近一點\n’, ‘啊啊啊啊啊啊啊啊啊啊啊\n’, ‘fffffffffff’]

3.2 寫

(1)write()

fp.write()的參數必須是一個字符串,就是你要寫入文件的內容.

(2)writelines()

fp.writelines()的參數可以是列表,也可以是字符串。

3.3 獲取文件讀寫類型

如果文件可寫,則 fp.writable() 方法返回 True,否則返回 False。

如果文件是可讀的,則 fp.readable() 方法返回 True,否則返回 False。

比如:以w方式打開的文件,fp.readable()返回False,fp.writable()返回True。

3.4 指針移動

seek

f.seek(偏移量,[起始位置])

起始位置的三種取值:0文件開頭,1當前位置,2文件末尾

例子見1.3中(10)a+

3.5 當前指針位置

tell()返回一個整數,表示當前文件指針的位置(就是到文件頭的字節數).

如果是utf-8編碼,那么一個中文字符占用三個字節,一個英文字符占用一個字節。如果是gbk編碼,那么一個中文字符占用兩個字節,一個英文字符占用一個字節。

with open(r"E:\test.txt",'a+',encoding='utf-8') as fp:
    content = fp.tell()
    print(content)

打印:30

3.6 truncate

truncate(size) 方法用于截斷文件,如果指定了可選參數 size,則表示截斷文件為 size 個字符。 如果沒有指定 size,則從當前位置起截斷;截斷之后 size 后面的所有字符被刪除。

以上就是關于“python中如何使用open函數對文件處理”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇庆市| 盐亭县| 沙坪坝区| 麻江县| 庆阳市| 西畴县| 安岳县| 绩溪县| 承德县| 华池县| 卢氏县| 襄汾县| 剑阁县| 曲阳县| 福安市| 噶尔县| 秦皇岛市| 凤凰县| 囊谦县| 枣强县| 临沭县| 阿图什市| 明水县| 鹰潭市| 文登市| 保康县| 获嘉县| 泗水县| 海盐县| 阿拉善盟| 普洱| 清水县| 铜梁县| 泽州县| 台中市| 绵阳市| 榆树市| 尖扎县| 当涂县| 大足县| 营口市|