日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

通過實例解析Python文件操作實現步驟

瀏覽:46日期:2022-07-10 15:20:45

當程序運行時,變量是保存數據的好方法,但變量、序列以及對象中存儲的數據是暫時的,程序結束后就會丟失,如果希望程序結束后數據仍然保持,就需要將數據保存到文件中。

Python 提供了內置的文件對象,以及對文件、目錄進行操作的內置模塊,通過這些技術可以很方便地將數據保存到文件(如文本文件等)中。

一、文件的概念

在計算機中,文件是以二進制的方式保存在磁盤上的。

文件分為文本文件和二進制文件。

1、文本文件

可以使用文本編輯軟件查看,本質上還是二進制文件,例如:python 的源程序。

2、二進制文件

保存的內容不是給人直接閱讀的,而是提供給其他軟件使用的。例如:圖片文件、音頻文件、視頻文件等等,二進制文件不能使用文本編輯軟件查看。

Python 中,對文件的操作有很多種,常見的操作包括創建、刪除、修改權限、讀取、寫入等,這些操作可大致分為以下 2 類:

刪除、修改權限:作用于文件本身,屬于系統級操作。寫入、讀取:是文件最常用的操作,作用于文件的內容,屬于應用級操作。

二、文件的基本操作

1、操作文件的步驟

文件的應用級操作可以分為以下 3 步,每一步都需要借助對應的函數實現:

打開文件:使用 open() 函數,該函數會返回一個文件對象;

對已打開文件做讀/寫操作:讀取文件內容可使用 read()、readline() 以及 readlines() 函數;向文件中寫入內容,可以使用 write() 函數。

關閉文件:完成對文件的讀/寫操作之后,最后需要關閉文件,可以使用 close() 函數。

2、打開文件的方式

在 Python 中,如果想要操作文件,首先需要創建或者打開指定的文件,并創建一個文件對象,而這些工作可以通過內置的 open() 函數實現。

語法如下:

file = open(file_name [, mode=’r’ [ , buffering=-1 [ , encoding = None ]]]) file:表示要創建的文件對象。 file_name:要創建或打開文件的文件名稱。 mode:用于指定文件的打開模式。默認以只讀(r)模式打開文件。 buffering:用于指定對文件做讀寫操作時,是否使用緩沖區。 encoding:手動設定打開文件時所使用的編碼格式,不同平臺的 ecoding 參數值也不同,以 Windows 為例,其默認為 cp936(實際上就是 GBK 編碼)。

打開文件的常用模式

模式 說明 r 以只讀方式打開文件。文件的指針將會放在文件的開頭,這是默認模式。如果文件不存在,拋出異常 w 以只寫方式打開文件。如果文件存在會被覆蓋。如果文件不存在,創建新文件 a 以追加方式打開文件。如果該文件已存在,文件指針將會放在文件的結尾。如果文件不存在,創建新文件進行寫入 r+ 以讀寫方式打開文件。文件的指針將會放在文件的開頭。如果文件不存在,拋出異常 w+ 以讀寫方式打開文件。如果文件存在會被覆蓋。如果文件不存在,創建新文件 a+ 以讀寫方式打開文件。如果該文件已存在,文件指針將會放在文件的結尾。如果文件不存在,創建新文件進行寫入

文件打開方式

通過實例解析Python文件操作實現步驟

open()是否需要緩沖區

通常情況下、建議大家在使用 open() 函數時打開緩沖區,即不需要修改 buffing 參數的值。

如果 buffing 參數的值為 0(或者 False),則表示在打開指定文件時不使用緩沖區;如果 buffing 參數值為大于 1 的整數,該整數用于指定緩沖區的大小(單位是字節);如果 buffing 參數的值為負數,則代表使用默認的緩沖區大小。

目前為止計算機內存的 I/O 速度仍遠遠高于計算機外設(例如鍵盤、鼠標、硬盤等)的 I/O 速度,如果不使用緩沖區,則程序在執行 I/O 操作時,內存和外設就必須進行同步讀寫操作,也就是說,內存必須等待外設輸入(輸出)一個字節之后,才能再次輸出(輸入)一個字節。這意味著,內存中的程序大部分時間都處于等待狀態。

而如果使用緩沖區,則程序在執行輸出操作時,會先將所有數據都輸出到緩沖區中,然后繼續執行其它操作,緩沖區中的數據會有外設自行讀取處理;同樣,當程序執行輸入操作時,會先等外設將數據讀入緩沖區中,無需同外設做同步讀寫操作。

3、read 方法 —— 讀取文件

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

read() 函數的基本語法格式如下:

file.read([size])

其中,file 表示已打開的文件對象;size 作為一個可選參數,用于指定一次最多可讀取的字符(字節)個數,如果省略,則默認一次性讀取所有內容。

如果忘記關閉文件,會造成系統資源消耗,而且會影響到后續對文件的訪問。

注意:read 方法執行后,會把文件指針移動到文件的末尾。

示例:

# 1. 打開 - 文件名需要注意大小寫file = open('README')

# 2. 讀取text = file.read()print(text)

# 3. 關閉file.close()

在開發中,通常會先編寫打開和關閉的代碼,再編寫中間針對文件的讀/寫操作!

4、按行讀取文件內容

read 方法默認會把文件的所有內容一次性讀取到內存。

如果文件太大,對內存的占用會非常嚴重。

readline 方法可以一次讀取一行內容,包含最后的換行符“n”。方法執行后,會把文件指針移動到下一行,準備再次讀取。

file.readline([size])

其中,file 為打開的文件對象;size 為可選參數,用于指定讀取每一行時,一次最多讀取的字符(字節)數。

讀取大文件的正確姿勢

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

示例:

小文件復制

# 1. 打開文件file_read = open('README')file_write = open('README[復件]', 'w')# 2. 讀取并寫入文件text = file_read.read()file_write.write(text)# 3. 關閉文件file_read.close()file_write.close()

大文件復制

# 1. 打開文件file_read = open('README')file_write = open('README[復件]', 'w')# 2. 讀取并寫入文件while True: # 每次讀取一行 text = file_read.readline() # 判斷是否讀取到內容 if not text: break file_write.write(text)# 3. 關閉文件file_read.close()file_write.close()

對于按行來讀取文件,還有一個 readlines() 函數。

readlines() 函數用于讀取文件中的所有行,它和調用不指定 size 參數的 read() 函數類似,只不過該函數返回是一個字符串列表,其中每個元素為文件中的一行內容。

和 readline() 函數一樣,readlines() 函數在讀取每一行時,會連同行尾的換行符一塊讀取。

5、文件指針

文件指針可以理解為一個標記,它標記從哪個位置開始讀取數據。

第一次打開文件時,通常文件指針會指向文件的開始位置,當執行了 read 方法后,文件指針默認情況下會移動到讀取內容的末尾。

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

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

# 首先在 README 文件中寫了8個1# 1. 打開 - 文件名需要注意大小寫file = open('README')# 2. 讀取text = file.read()print(text)text = file.read()print('-' * 10)print(text)# 3. 關閉file.close()#1111111#----------#

6、向文件中寫入數據

Python 中的文件對象提供了 write() 函數,可以向文件中寫入指定內容。該函數的語法格式如下:

file.write(string)在寫入文件完成后,一定要調用 close() 函數將打開的文件關閉,否則寫入的內容不會保存到文件中。

這是因為,當我們在寫入文件內容時,操作系統不會立刻把數據寫入磁盤,而是先緩存起來,只有調用 close() 函數時,操作系統才會保證把沒有寫入的數據全部寫入磁盤文件中。

寫入文件示例:

# 打開文件f = open('README', 'w')

f.write('hello python!n')f.write('今天天氣真好')

# 關閉文件f.close()

如果向文件寫入數據后,不想馬上關閉文件,也可以調用文件對象提供的 flush() 函數,它可以實現將緩沖區的數據寫入文件中。

f = open('a.txt', ’w’)f.write('寫入一行新數據')f.flush()

三、文件/目錄的常用管理操作

在終端 / 文件瀏覽器中可以執行常規的文件 / 目錄管理操作,例如:創建、重命名、刪除、改變路徑、查看目錄內容等等。

在 Python 中,如果希望通過程序實現上述功能,需要導入 os 模塊。

1、文件操作

方法名 說明 示例 rename 重命名文件 os.rename(源文件名, 目標文件名) remove 刪除文件 os.remove(文件名)

2、目錄操作

方法名 說明 示例 listdir 目錄列表 os.listdir(目錄名) mkdir 創建目錄 os.mkdir(目錄名) rmdir 刪除目錄 os.rmdir(目錄名) getcwd 獲取當前目錄 os.getcwd() chdir 修改工作目錄 os.chdir(目標目錄)

文件或者目錄的操作都支持相對路徑和絕對路徑。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
视频精品一区二区| 欧美黑人做爰爽爽爽| 亚洲国产不卡| 亚洲视频电影在线| 日韩二区三区在线观看| 国产精品综合色区在线观看| 国产中文欧美日韩在线| 久久免费大视频| 中文字幕av一区二区三区人 | 视频在线观看91| 日韩高清一区| 日本一区二区高清不卡| 欧美日韩精品一区二区视频| 一二三区精品| 精品视频国产| 午夜国产精品视频免费体验区| 麻豆精品91| 韩国一区二区三区视频| 国产婷婷精品| 卡一精品卡二卡三网站乱码| 精品捆绑调教一区二区三区| 亚洲色图网站| а√天堂中文在线资源8| 蜜桃视频一区二区三区在线观看| 精品一区二区三区中文字幕视频| 国产精品普通话对白| 卡一卡二国产精品| 久久www成人_看片免费不卡| 精品深夜福利视频| 蜜臀va亚洲va欧美va天堂| 红杏一区二区三区| 中文字幕一区二区精品区| 91中文字幕精品永久在线| 免费国产亚洲视频| 日韩成人a**站| 亚洲一区二区三区久久久| 国内揄拍国内精品久久| 亚洲ab电影| 国精品一区二区三区| 国产精品免费大片| 午夜宅男久久久| 国产精品yjizz视频网| 深夜福利一区| 亚洲女同中文字幕| 高清日韩中文字幕| 日本午夜精品久久久久| 激情五月综合| 红杏一区二区三区| 日本欧美一区二区| 国产高清一区| 国产一区不卡| 欧美在线不卡| 久久性天堂网| 99久久婷婷| 成人污污视频| 国产欧美另类| 亚洲精品韩国| 亚洲欧洲一区二区天堂久久| 国产精品毛片久久| 久久国产三级精品| 一区二区国产在线| 亚洲免费高清| 99精品电影| 激情视频网站在线播放色| 国产丝袜一区| 亚洲深夜福利在线观看| 九一国产精品| 国产精品久久久久av电视剧| 国产精品毛片久久久| 日韩精品中文字幕一区二区| 亚洲一区欧美二区| 免费欧美一区| 亚洲成人二区| 日韩毛片在线| 午夜影院一区| 首页国产精品| 国产成人黄色| 九九九精品视频| 麻豆精品少妇| 欧美成a人片免费观看久久五月天| 日韩精品一区二区三区中文在线 | 精品网站999| 国产精品巨作av| 国产精品一区二区三区四区在线观看 | 青青国产91久久久久久| 只有精品亚洲| 亚洲一级大片| 日韩在线卡一卡二| 欧美综合二区| 免费在线视频一区| 在线免费观看亚洲| 亚洲伊人精品酒店| 亚洲毛片在线| 亚洲毛片一区| 日韩av网站免费在线| 日本不卡视频在线| 欧美亚洲二区| 国产调教精品| 久久精品欧洲| 国产精品专区免费| 国产专区一区| 免费看的黄色欧美网站| 免费日韩视频| 日韩中文字幕一区二区高清99| 亚洲精品乱码| 国产乱人伦丫前精品视频| 国产精品久久久久77777丨 | 成人国产精品一区二区网站| www.九色在线| 九一成人免费视频| 免费日韩视频| 日本成人在线不卡视频| 国产欧美在线| 精品视频91| 亚洲成人不卡| 女人天堂亚洲aⅴ在线观看| 免播放器亚洲| 欧美视频二区| 麻豆精品少妇| 99视频精品全部免费在线视频| 欧美网站在线| 日韩精品亚洲专区| 国产中文欧美日韩在线| 99久久亚洲精品蜜臀| 综合精品一区| 国产精品久久久久久久久免费高清| 精品亚洲自拍| 蜜臀av免费一区二区三区| 亚洲三级毛片| 国产精品久久久网站| 欧美日韩免费看片| 国产精品腿扒开做爽爽爽挤奶网站| 一区二区高清| 精品五月天堂| 91高清一区| 91精品丝袜国产高跟在线| 精品国产黄a∨片高清在线| 日韩精品一卡| 亚欧成人精品| 国产在线观看91一区二区三区| 久久视频精品| 婷婷亚洲成人| 日本一二区不卡| 三级欧美在线一区| 久久久免费人体| 亚洲国产成人精品女人| 日韩高清不卡一区| 日韩欧美二区| 亚洲ab电影| 免费高潮视频95在线观看网站| 亚洲免费中文| 牛牛精品成人免费视频| 99久精品视频在线观看视频| 日韩在线麻豆| 日韩成人a**站| 中文字幕亚洲在线观看| 国产一区国产二区国产三区| 免费精品视频| 在线天堂中文资源最新版| 亚洲一区二区三区在线免费| 黑森林国产精品av| 日韩一二三区在线观看| 青青青免费在线视频| 亚洲色图国产| 久久久久免费av| 国产欧美大片| 日韩午夜精品| 高清精品久久| 日韩av中文字幕一区二区| 99久久亚洲精品| 欧美精品导航| 丝袜美腿亚洲色图| av资源亚洲| 欧美精品国产白浆久久久久| 国产一区二区三区自拍| 久久av国产紧身裤| 男女男精品视频网| 日韩欧美三级| 国产免费av国片精品草莓男男| 亚洲精华国产欧美| 日韩国产一区二区| 国产精品久久久亚洲一区| 久久高清国产| 成人小电影网站| 欧美亚洲免费| 蜜桃视频免费观看一区| 色天使综合视频| 另类综合日韩欧美亚洲| 亚洲精品影院在线观看| 久久精品高清| 久久久亚洲欧洲日产| 日本伊人久久| 黄色日韩在线| 欧美日韩精品免费观看视欧美高清免费大片 | 婷婷成人av| 婷婷综合社区| 日韩中文字幕高清在线观看| 国产伦理一区| 日韩美女精品| 亚洲视频国产精品|