
- Python 基礎
- Python - 首頁
- Python - 概述
- Python - 歷史
- Python - 特性
- Python vs C++
- Python - Hello World 程式
- Python - 應用領域
- Python - 直譯器
- Python - 環境搭建
- Python - 虛擬環境
- Python - 基本語法
- Python - 變數
- Python - 資料型別
- Python - 型別轉換
- Python - Unicode 系統
- Python - 字面量
- Python - 運算子
- Python - 算術運算子
- Python - 比較運算子
- Python - 賦值運算子
- Python - 邏輯運算子
- Python - 位運算子
- Python - 成員運算子
- Python - 身份運算子
- Python - 運算子優先順序
- Python - 註釋
- Python - 使用者輸入
- Python - 數字
- Python - 布林值
- Python 控制語句
- Python - 控制流
- Python - 決策
- Python - if 語句
- Python - if else
- Python - 巢狀 if
- Python - Match-Case 語句
- Python - 迴圈
- Python - for 迴圈
- Python - for-else 迴圈
- Python - while 迴圈
- Python - break 語句
- Python - continue 語句
- Python - pass 語句
- Python - 巢狀迴圈
- Python 函式 & 模組
- Python - 函式
- Python - 預設引數
- Python - 關鍵字引數
- Python - 僅限關鍵字引數
- Python - 位置引數
- Python - 僅限位置引數
- Python - 可變引數
- Python - 變數作用域
- Python - 函式註解
- Python - 模組
- Python - 內建函式
- Python 字串
- Python - 字串
- Python - 字串切片
- Python - 修改字串
- Python - 字串連線
- Python - 字串格式化
- Python - 跳脫字元
- Python - 字串方法
- Python - 字串練習
- Python 列表
- Python - 列表
- Python - 訪問列表元素
- Python - 修改列表元素
- Python - 新增列表元素
- Python - 刪除列表元素
- Python - 迴圈遍歷列表
- Python - 列表推導式
- Python - 對列表排序
- Python - 複製列表
- Python - 合併列表
- Python - 列表方法
- Python - 列表練習
- Python 元組
- Python - 元組
- Python - 訪問元組元素
- Python - 更新元組
- Python - 解包元組
- Python - 迴圈遍歷元組
- Python - 合併元組
- Python - 元組方法
- Python - 元組練習
- Python 集合
- Python - 集合
- Python - 訪問集合元素
- Python - 新增集合元素
- Python - 刪除集合元素
- Python - 迴圈遍歷集合
- Python - 合併集合
- Python - 複製集合
- Python - 集合運算子
- Python - 集合方法
- Python - 集合練習
- Python 字典
- Python - 字典
- Python - 訪問字典元素
- Python - 修改字典元素
- Python - 新增字典元素
- Python - 刪除字典元素
- Python - 字典檢視物件
- Python - 迴圈遍歷字典
- Python - 複製字典
- Python - 巢狀字典
- Python - 字典方法
- Python - 字典練習
- Python 陣列
- Python - 陣列
- Python - 訪問陣列元素
- Python - 新增陣列元素
- Python - 刪除陣列元素
- Python - 迴圈遍歷陣列
- Python - 複製陣列
- Python - 反轉陣列
- Python - 對陣列排序
- Python - 合併陣列
- Python - 陣列方法
- Python - 陣列練習
- Python 檔案處理
- Python - 檔案處理
- Python - 寫入檔案
- Python - 讀取檔案
- Python - 重新命名和刪除檔案
- Python - 目錄
- Python - 檔案方法
- Python - OS 檔案/目錄方法
- Python - OS 路徑方法
- 面向物件程式設計
- Python - OOPs 概念
- Python - 類 & 物件
- Python - 類屬性
- Python - 類方法
- Python - 靜態方法
- Python - 建構函式
- Python - 訪問修飾符
- Python - 繼承
- Python - 多型
- Python - 方法重寫
- Python - 方法過載
- Python - 動態繫結
- Python - 動態型別
- Python - 抽象
- Python - 封裝
- Python - 介面
- Python - 包
- Python - 內部類
- Python - 匿名類和物件
- Python - 單例類
- Python - 包裝器類
- Python - 列舉
- Python - 反射
- Python 錯誤 & 異常
- Python - 語法錯誤
- Python - 異常
- Python - try-except 塊
- Python - try-finally 塊
- Python - 丟擲異常
- Python - 異常鏈
- Python - 巢狀 try 塊
- Python - 使用者自定義異常
- Python - 日誌記錄
- Python - 斷言
- Python - 內建異常
- Python 多執行緒
- Python - 多執行緒
- Python - 執行緒生命週期
- Python - 建立執行緒
- Python - 啟動執行緒
- Python - 執行緒連線
- Python - 執行緒命名
- Python - 執行緒排程
- Python - 執行緒池
- Python - 主執行緒
- Python - 執行緒優先順序
- Python - 守護執行緒
- Python - 執行緒同步
- Python 同步
- Python - 執行緒間通訊
- Python - 執行緒死鎖
- Python - 中斷執行緒
- Python 網路程式設計
- Python - 網路程式設計
- Python - Socket 程式設計
- Python - URL 處理
- Python - 泛型
- Python 庫
- NumPy 教程
- Pandas 教程
- SciPy 教程
- Matplotlib 教程
- Django 教程
- OpenCV 教程
- Python 雜項
- Python - 日期 & 時間
- Python - 數學
- Python - 迭代器
- Python - 生成器
- Python - 閉包
- Python - 裝飾器
- Python - 遞迴
- Python - 正則表示式
- Python - PIP
- Python - 資料庫訪問
- Python - 弱引用
- Python - 序列化
- Python - 模板
- Python - 輸出格式化
- Python - 效能測量
- Python - 資料壓縮
- Python - CGI 程式設計
- Python - XML 處理
- Python - GUI 程式設計
- Python - 命令列引數
- Python - 文件字串
- Python - JSON
- Python - 傳送郵件
- Python - 擴充套件
- Python - 工具/實用程式
- Python - GUIs
- Python 高階概念
- Python - 抽象基類
- Python - 自定義異常
- Python - 高階函式
- Python - 物件內部
- Python - 記憶體管理
- Python - 元類
- Python - 使用元類進行超程式設計
- Python - 模擬和存根
- Python - 猴子補丁
- Python - 訊號處理
- Python - 型別提示
- Python - 自動化教程
- Python - Humanize 包
- Python - 上下文管理器
- Python - 協程
- Python - 描述符
- Python - 診斷和修復記憶體洩漏
- Python - 不可變資料結構
- Python 有用資源
- Python - 問答
- Python - 線上測驗
- Python - 快速指南
- Python - 參考
- Python - 速查表
- Python - 專案
- Python - 有用資源
- Python - 討論
- Python 編譯器
- NumPy 編譯器
- Matplotlib 編譯器
- SciPy 編譯器
Python 檔案 write() 方法
Python 檔案的 write() 方法將字串寫入檔案。當該方法將字串寫入檔案時,它首先將其寫入內部緩衝區;一旦該緩衝區已滿,內容就會被傳輸到當前檔案。由於這種緩衝機制,字串可能不會立即顯示在檔案中,直到呼叫 flush() 或 close() 方法。
如果當前檔案為空,則該方法從開頭新增內容;但如果它已經包含一些文字,則將此文字新增到檔案中的位置取決於檔案指標的位置;並且此位置根據檔案模式而變化。各種情況如下所示 -
- 如果檔案以寫入模式 (w 或 w+) 開啟,則檔案中的現有文字將被擦除,並且檔案指標移動到檔案的開頭。因此,在這種情況下,write() 方法從開頭開始寫入。
- 如果檔案以追加模式 (a 或 a+) 開啟,則現有文字將保持不變,並且檔案指標將保持在檔案末尾。因此,新文字將新增到現有內容之後。
- 如果檔案以讀寫模式 (r+) 開啟,則指標移動到檔案開頭並替換檔案中的現有內容。但是,不會替換整個文字;相反,write() 方法僅用新字串中對應索引處的字元替換現有字串中的字元。
- 如果檔案以讀取模式 (r) 開啟,則此方法無效。
語法
以下是 Python 檔案 write() 方法的語法 -
fileObject.write(str)
引數
str - 這是要寫入檔案中的字串。
返回值
此方法不返回值。
示例
考慮一個包含字串的演示檔案“foo.txt”。
This is 1st line This is 2nd line This is 3rd line This is 4th line This is 5th line
以下示例顯示了 Python 檔案 write() 方法的用法。演示檔案以寫入 (w) 模式開啟,因此檔案中的現有內容將被擦除,並使用此方法插入新內容。並且由於此方法不返回值,因此必須直接檢查檔案以檢視反映的變化。
# Open a file in write mode fo = open("foo.txt", "w") print("Name of the file: ", fo.name) # Assuming file has following 5 lines # This is 1st line # This is 2nd line # This is 3rd line # This is 4th line # This is 5th line # Write a new line into the file str = "This is the new line" line = fo.write( str ) print("Check the file to see the reflected changes") # Close opened file fo.close()
當我們執行上述程式時,它會產生以下結果 -
Name of the file: foo.txt Check the file to see the reflected changes
示例
在上面的示例中,必須開啟檔案以檢查更改是否已反映。但我們也可以嘗試在終端本身顯示檔案內容。為此,一旦使用 write() 方法重寫檔案,我們關閉檔案。然後,此檔案再次以讀取 (r) 模式開啟,並使用 read() 方法讀取檔案內容。
# Open a file in write mode fo = open("foo.txt", "w") print("Name of the file: ", fo.name) # Assuming file has following 5 lines # This is 1st line # This is 2nd line # This is 3rd line # This is 4th line # This is 5th line # Write a new line fo.write("This is the new line") # Close opened file fo.close() # Open the file again in read mode fo = open("foo.txt", "r") line = fo.read() print("File Contents:", line) # Close opened file again fo.close()
在執行上述程式時,輸出將在終端上顯示如下 -
Name of the file: foo.txt File Contents: This is the new line
示例
如果我們嘗試以寫入 (w) 模式開啟目錄中不存在的檔案,則會建立一個具有給定名稱的新檔案。在以下示例中,write() 方法在此檔案上呼叫,並將新內容插入到其中。
# Open a non-existent file in write mode fo = open("new.txt", "w") print("Name of the file: ", fo.name) fo.write("This is the new line") print("Check the file to see the reflected changes") # Close opened file fo.close()
讓我們編譯並執行給定的程式,輸出將顯示如下 -
Name of the file: new.txt Check the file to see the reflected changes
示例
當檔案以追加 (a 或 a+) 模式開啟時,也可以使用 write() 方法。
在這個例子中,一個名為“foo.txt”的檔案以追加模式“a”開啟。通常,如果我們想將內容追加到檔案,我們會使用seek()方法將檔案指標移動到末尾,但這裡沒有必要。由於檔案是以追加模式開啟的,write()方法會在檔案末尾寫入內容。檔案內容會在終端本身顯示。
# Let the test file contain the following strings # Hello! # This is Tutorialspoint # Welcome # Open the test file in append mode fo = open("test.txt", "a") print("Name of the file: ", fo.name) line = fo.write("This is the new line") # Close opened file fo.close() # Open the file again in read mode fo = open("test.txt", "r") line = fo.read() print("File Contents:", line) # Close opened file again fo.close()
程式編譯並執行後,輸出結果將在終端中顯示如下:
Name of the file: test.txt File Contents: Hello! This is Tutorialspoint WelcomeThis is the new line
示例
如果我們對使用讀寫模式(r+)開啟的檔案使用write()方法,指標會移動到檔案開頭並替換檔案中的現有內容。
在下面的例子中,我們以“r+”模式開啟一個現有的檔案“foo.txt”。write()方法用傳遞給它的新字串引數的對應索引替換檔案開頭現有字串的字元。
# Open the test file in append mode fo = open("foo.txt", "r+") print("Name of the file: ", fo.name) fo.write("This is a new line") print("Check the file to see the reflected changes") # Close opened file again fo.close() # Open the file again in read mode fo = open("foo.txt", "r") line = fo.read() print("File Contents:", line) # Close opened file again fo.close()
讓我們編譯並執行上面的程式,得到如下結果:
Name of the file: foo.txt File Contents: This is a new lineThis is 2nd line This is 3rd line This is 4th line This is 5th line