亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python3中處理和操作純文本文件的詳細教程

 更新時間:2024年06月27日 11:59:32   作者:白如意i  
本教程將簡要描述 Python 能夠處理的一些文件格式,在簡要介紹這些文件格式之后,你將學習如何在 Python 3 中打開、讀取和寫入文本文件,完成后,你將能夠處理 Python 中的任何純文本文件,需要的朋友可以參考下

簡介

Python 是一個處理數(shù)據(jù)的強大工具。編程中最常見的任務之一就是讀取、寫入或操作數(shù)據(jù)。因此,了解如何處理存儲不同類型數(shù)據(jù)的不同文件格式尤為重要。

例如,考慮一個檢查用戶訪問控制列表的 Python 程序。你的用戶列表可能存儲在一個文本文件中,允許你檢查訪問權限或修改權限。使用 Python,能夠打開、讀取、寫入和關閉文件將有助于處理此類任務。

本教程將簡要描述 Python 能夠處理的一些文件格式。在簡要介紹這些文件格式之后,你將學習如何在 Python 3 中打開、讀取和寫入文本文件。完成后,你將能夠處理 Python 中的任何純文本文件。

先決條件

在進行本教程之前,你應該已經(jīng)安裝了 Python 3,并在計算機上設置了本地編程環(huán)境。如果還沒有這樣做,你可以按照適用于你操作系統(tǒng)的相應安裝和設置指南進行設置:

  • Ubuntu 22.04 或 Debian 8
  • CentOS 7
  • Mac OS X
  • Windows 10

背景

Python 非常靈活,可以輕松處理多種不同的文件格式,包括但不限于以下內(nèi)容:

文件類型描述
純文本純文本文件存儲表示僅包含字符(或字符串)的數(shù)據(jù),并排除任何結構化元數(shù)據(jù)
CSV逗號分隔值文件使用逗號(或其他分隔符)來結構化存儲的數(shù)據(jù),允許數(shù)據(jù)以表格格式保存
HTML超文本標記語言文件存儲用于由瀏覽器顯示的結構化數(shù)據(jù),通常與網(wǎng)站一起使用
JSONJavaScript 對象表示法是一種簡單高效的格式,使其成為存儲和傳輸結構化數(shù)據(jù)最常用的格式之一

本教程將重點介紹如何處理純文本文件。

步驟 1 —— 創(chuàng)建文本文件

在我們開始在 Python 中工作之前,我們需要確保有一個要處理的文件。為此,請打開你的代碼編輯器,并創(chuàng)建一個名為 days.txt 的新純文本文件。

在新文件中,輸入幾行文本,列出一周的天數(shù):

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

接下來,保存你的文件,并記下其位置。在本例中,我們的用戶 sammy 將文件保存在 /home/sammy/days.txt。這在后續(xù)步驟中將非常重要,因為我們將在 Python 中打開該文件。

現(xiàn)在你已經(jīng)有了要處理的文件,可以開始編寫代碼了。

步驟 2 —— 打開文件

在你的代碼編輯器中,創(chuàng)建一個新的 Python 文件,并將其命名為 files.py。

要在 Python 中打開一個文件,我們首先需要一種將磁盤上的文件與 Python 中的變量關聯(lián)的方法。這個過程稱為打開文件,而變量稱為文件句柄。我們首先告訴 Python 文件的位置。文件的位置通常被稱為文件路徑 —— 在本例中是 /home/sammy/days.txt。創(chuàng)建一個變量來存儲這個路徑信息。

path = '/home/sammy/days.txt'

現(xiàn)在,你可以使用 Python 的 open() 函數(shù)來打開我們的 days.txt 文件。open() 函數(shù)需要文件路徑作為其第一個參數(shù)。該函數(shù)還接受許多其他參數(shù)。然而,最重要的是可選的 mode 參數(shù)。這是一個可選的字符串,指定打開文件的模式。你選擇的模式將取決于你希望對文件進行的操作。以下是一些可用的模式:

  • 'r':用于從文件中讀取數(shù)據(jù)
  • 'w':用于向文件中寫入數(shù)據(jù)
  • 'a':用于向文件中追加數(shù)據(jù)
  • 'r+':用于在同一文件中進行讀取和寫入

在本例中,我們只想從文件中讀取數(shù)據(jù),因此我們將使用 'r' 模式。使用 open() 函數(shù)打開 days.txt 文件,并將生成的文件句柄分配給變量 days_file。

days_file = open(path, 'r')

現(xiàn)在你已經(jīng)打開了文件,接下來的步驟將指導你讀取其內(nèi)容。

步驟 3 —— 讀取文件

由于我們已經(jīng)打開了文件,現(xiàn)在可以通過分配給它的變量來操作它(即從中讀?。ython 提供了三種相關的操作來從文件中讀取信息。讓我們花點時間了解一下它們各自是如何工作的。

使用 read

第一個操作 read() 返回整個文件的內(nèi)容作為一個字符串。例如:

days_file.read()

結果將是:

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'

使用 readline

第二個操作 readline() 返回文件的下一行,包括下一個換行符在內(nèi)的文本。簡單來說,這個操作將逐行讀取文件。

days_file.readline()

結果將是:

'Monday\n'

一旦使用 readline 操作讀取了一行,文件的當前讀取位置將移動到下一行。如果再次調(diào)用這個操作,它將返回文件中的下一行,如下所示:

days_file.readline()

'Tuesday\n'

使用 readlines

最后一個操作 readlines() 返回文件中每一行的列表,其中列表的每個項目代表一行。

days_file.readlines()

['Monday\n', 'Tuesday\n', 'Wednesday\n', 'Thursday\n', 'Friday\n', 'Saturday\n', 'Sunday\n']

在讀取文件時需要記住的一點是,一旦使用了其中一個讀取操作,就不能再次讀取文件。例如,如果首先運行 days_file.read(),然后是 days_file.readlines(),第二個操作將返回一個空字符串。因此,每當你想要從文件中讀取時,你必須首先打開一個新的文件變量或使用 seek() 方法,這超出了本教程的范圍。如果你想了解更多,Python 對這些方法有很好的文檔。

現(xiàn)在我們已經(jīng)從文件中讀取了內(nèi)容,讓我們學習如何寫入新文件。

步驟 4 —— 寫入文件

在這一步中,你將寫入一個新文件,其中包括標題 Days of the Week,后面跟著第一個文件的內(nèi)容。首先,創(chuàng)建一個 title 變量。

title = 'Days of the Week\n'

你還需要將一周的天數(shù)存儲在一個變量中,我們將其稱為 days。這段代碼以讀模式打開文件,讀取文件,并將讀取操作返回的輸出存儲在我們的新變量 days 中。為了更容易理解,步驟 2 中的代碼已經(jīng)包含在內(nèi)。

path = '/home/sammy/days.txt'
days_file = open(path, 'r')
days = days_file.read()

現(xiàn)在你有了標題和一周的天數(shù)的變量,你可以開始寫入新文件。首先,指定文件的位置。同樣,我們將使用目錄 /home/sammy/,所以我們的路徑將是 /home/sammy/new_days.txt。然后,你可以使用 open() 函數(shù)以寫模式打開新文件,指定 'w' 模式。

new_path = '/home/sammy/new_days.txt'
new_days = open(new_path, 'w')

一旦打開了新文件,你可以使用 write() 方法添加數(shù)據(jù)。這個方法接受一個字符串參數(shù),并將該數(shù)據(jù)寫入文件。如果你想在文件中開始新的一行,你必須顯式提供換行符 \n,這在你將 'Days of the Week\n' 賦給 title 變量時已經(jīng)包含在內(nèi)。

將標題寫入文件,然后是一周的天數(shù)??赡苡兄谔砑右恍?print 語句來跟蹤我們要寫入文件的內(nèi)容,這通常用于跟蹤腳本的進度。

new_days.write(title)
print(title)

new_days.write(days)
print(days)

最后,當你完成對文件的操作時,關閉文件是很重要的。

步驟 5 —— 關閉文件

關閉文件確保磁盤上的文件與文件句柄之間的連接已經(jīng)結束。關閉文件還確保其他程序能夠訪問它們,并保持你的數(shù)據(jù)安全。如果你沒有像 步驟 6 中描述的那樣使用 with 語句,一定要確保關閉你的文件。在這個例子中,使用 close() 方法關閉所有文件。

days_file.close()
new_days.close()

現(xiàn)在腳本完成了對文件的操作,它使用 close() 方法釋放了文件句柄。

步驟 6 —— 使用 with 語句(可選)

在 Python 中處理文件的推薦方式(通常稱為Pythonic方式)是使用語言的一個特性,稱為 with 語句。這些語句是設置一個上下文進行工作的簡寫方式,一旦上下文結束,最終的細節(jié)將自動處理,以防止常見的錯誤。在處理文件的情況下,with 語句將自動關閉文件,這樣一旦你完成任務,就不會有文件句柄殘留。

與 Python 中的任何塊一樣,比如函數(shù)定義、if 語句或循環(huán),with 語句采用一個簡單語句后跟一個 :,然后是一個縮進的代碼塊。下面是一個打開文件并打印其內(nèi)容的代碼示例:

with open('/home/sammy/days.txt', 'r') as days_file:
    days = days_file.read()
    print(days)

讓我們逐步了解這段代碼的作用。與之前一樣,我們使用 Python 的內(nèi)置 open() 函數(shù)打開文件,傳遞文件路徑和模式參數(shù)。然而,由于我們使用了 with 語句,而不是使用 = 將結果的文件句柄分配給一個變量,我們使用 as 關鍵字進行分配。這是完整 with 語句語法的一部分:

with action as result:
    . . .

在 : 之后,我們移到下一行并縮進我們的代碼,這是 Python 組織功能塊的方式。與之前一樣,我們可以在 days_file 變量中訪問文件句柄,因此我們可以調(diào)用 read() 方法來獲取所有內(nèi)容,并將其 print() 出來。

請注意,這里沒有調(diào)用 close() 方法。這是因為一旦代碼離開這個塊(也就是說,一旦下一行的代碼不再縮進,或者文件結束了),with 語句的上下文就知道自動關閉這些文件。這樣做的好處不僅在于你不需要記住每次都關閉文件,而且你處理特定文件的所有邏輯在該塊內(nèi)視覺上和邏輯上都是清晰的。這種結構有助于保持代碼的清晰和可讀性。

有了這個理解,讓我們使用 with 語句重新編寫我們之前的代碼:

with open(path, 'r') as days_file, open(new_path, 'w') as new_days:
    days = days_file.read()
    
    new_days.write(title)
    new_days.write(days)
    
print(title)
print(days)

現(xiàn)在代碼更加有組織。我們首先像之前一樣定義了一些變量:我們兩個文件的路徑和我們將用于新文件標題的標題。之后,我們開始我們的 with 語句,打開我們的兩個文件,并將它們的連接存儲在適當命名的變量中。與之前一樣,我們讀取了 days_file 的內(nèi)容,然后將標題和這些內(nèi)容寫入了 new_days。最后,我們通過取消縮進代碼塊來結束該塊,以打印我們讀取的 title 和 days 的值。

雖然有一些情況下你會想要使用之前描述的 close() 方法,而且了解它的工作原理很重要,但在 Python 中處理文件時,你通常會使用 with 語句。

步驟 7 — 檢查我們的代碼

在運行代碼之前,最好確保一切看起來都是正確的。最終的產(chǎn)品應該是這樣的:

path = '/home/sammy/days.txt'
new_path = '/home/sammy/new_days.txt'
title = 'Days of the week\n'

with open(path, 'r') as days_file, open(new_path, 'w') as new_days:
    days = days_file.read()
    
    new_days.write(title)
    new_days.write(days)
    
print(title)
print(days)

保存代碼后,打開終端并運行你的 Python 腳本,就像這樣:

python files.py

輸出將如下所示:

Days of the Week

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

現(xiàn)在,通過打開新文件(new_days.txt)來完全檢查代碼是否運行正常。如果一切順利,它應該包含以下內(nèi)容:

Days of the Week
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

結論

在本教程中,我們學習了如何在 Python 3 中處理和操作純文本文件?,F(xiàn)在你可以在 Python 中打開、讀取、寫入和關閉文件,并且可以繼續(xù)在 Python 中處理自己的數(shù)據(jù)。Python 在處理輸入和輸出時提供了許多其他有用的方法,并且還提供了文檔以便進一步學習。

以上就是Python3中處理和操作純文本文件的詳細教程的詳細內(nèi)容,更多關于Python3處理和操作文本文件的資料請關注腳本之家其它相關文章!

相關文章

最新評論