Python 09 檔案處理與輸入輸出

2021-10-24 12:14:41 字數 2904 閱讀 8937

有些時候你的程式會與使用者產生互動。舉個例子,你會希望獲取使用者的輸入內容,並向使用者 列印出一些返回的結果。我們可以分別通過 input() 函式與print函式來實現這一需求。

另乙個常見的輸入輸出型別是處理檔案。建立、讀取與寫入檔案對於很多程式來說是必不可 少的功能,而我們將在本章**這一方面。

使用者輸入內容 

將以下程式儲存為 io_input.py : 

def reverse(text):return text[::-1]def is_backtext(text):return text == reverse(text)something = input("請輸入文字: ")if is_backtext(something):print("是回文")else:print("不是回文")
輸出:

python io_input.py輸入文字: abc不是回文python io_input.py輸入文字: moom是回文
我們使用切片功能翻轉文字。我們已經了解了我們可以通過使用 seq[a:b] 來從位置 a 開 始到位置 b 結束來對序列進行切片。我們同樣可以提供第三個引數來確定切片的步長 (step)。預設的步長為 1 ,它會返回乙份連續的文字。如果給定乙個負數步長,如 -1 , 將返回翻轉過的文字。

input()函式可以接受乙個字串作為引數,並將其展示給使用者。爾後它將等待使用者輸入內 容或敲擊返回鍵。一旦使用者輸入了某些內容並敲下返回鍵, input() 函式將返回使用者輸入的 文字。

我們獲得文字並將其進行翻轉。如果原文本與翻轉後的文字相同,則判斷這一文字是回文。

檔案你可以通過建立乙個屬於 file 類的物件並適當使用它的 read 、 readline 、 write 方法 來開啟或使用檔案,並對它們進行讀取或寫入。讀取或寫入檔案的能力取決於你指定以何種 方式開啟檔案。最後,當你完成了檔案,你可以呼叫 close 方法來告訴 python 我們已經完 成了對該檔案的使用。

案例(儲存為 io_using_file.py ):

poem = '''程式設計是很有趣的事件,如果你想讓你的工作也變得有趣的話:使用python!'''# 開啟檔案以編輯('w'riting)f = open('poem.txt', 'w',encoding='utf-8')# 向檔案中編寫文字f.write(poem)# 關閉檔案f.close()# 如果沒有特別指定,# 將假定啟用預設的閱讀('r'ead)模式f = open('poem.txt')while true:line = f.readline()# 零長度指示 eofif len(line) == 0:break # 每行(`line`)的末尾# 都已經有了換行符#因為它是從乙個檔案中進行讀取的print(line, end='')# 關閉檔案f.close()
輸出:

$ python io_using_file.py程式設計是很有趣的事件,如果你想讓你的工作也變得有趣的話:使用python!
它是如何工作的

首先,我們使用內建的 open 函式並指定檔名以及我們所希望使用的開啟模式來開啟乙個 檔案。

開啟模式可以是閱讀模式( 'r' ),寫入模式( 'w' )和追加模式( 'a' )。

我們還 可以選擇是通過文字模式( 't' )還是二進位制模式( 'b' )來讀取、寫入或追加文字。實際 上還有其它更多的模式可用, help(open) 會給你有關它們的更多細節。

在預設情況 下, open() 會將檔案視作文字(text)檔案,並以閱讀(read)模式開啟它。

在我們的案例中,我們首先採用寫入模式開啟檔案並使用檔案物件的 write 方法來寫入文 件,並在最後通過 close 關閉檔案。

接下來,我們重新在閱讀模式下開啟同乙個檔案。我們不需要特別指定某種模式,因為「閱讀 文字檔案」是預設的。我們在迴圈中使用 readline 方法來讀取檔案的每一行。這一方法將會 一串完整的行,其中在行末尾還包含了換行符。當乙個空字串返回時,它表示我們已經到 達了檔案末尾,並且通過 break 退出迴圈

最後,我們最終通過 close 關閉了檔案。現在,你可以檢查 poem.txt 檔案的內容來確認程式確實對該檔案進行了寫入與讀取操作。

encoding=utf-8

當我們閱讀或寫入某一檔案或當我們希望與網際網路上的其它計算機通訊時,我們需要將我們 的 unicode 字串轉換至乙個能夠被傳送和接收的格式,這個格式叫作「utf-8」。我們可以在 這一格式下進行讀取與寫入,只需使用乙個簡單的關鍵字引數到我們的標準 open 函式中: encoding='utf-8'

unicode 有「統一碼」「萬國碼」「國際碼」等多種譯名。

Python 09 檔案處理

with 語句 總結檔案是儲存在計算機儲存裝置上的一些資訊或資料。通常把檔案分為兩類,文字檔案和二進位制檔案。文字檔案是簡單的文字,二進位制檔案包含了只有計算機可讀的二進位制資料。檔案開啟與關閉 檔案讀取與寫入 使用 open 函式開啟檔案。它需要兩個引數,第乙個引數是檔案路徑或檔名,第二個是檔案的...

python基礎 Task09 檔案與檔案系統

開啟檔案 open file mode r buffering none encoding none errors none newline none closefd true 有了os operation system 模組,我們不需要關心什麼作業系統下使用什麼模組,os模組會幫你選擇正確的模組並...

9 檔案輸入與輸出

要想對檔案進行讀取,就需要乙個用file物件構造乙個scanner物件,如下所示 scanner in new scanner paths.get myfile.txt utf 8 如果檔名包含反斜槓符號,就要記住在每個反斜槓之前再加乙個額外的反斜槓 c mydirectory myfile.txt...