目錄
一、write()方法
二、writelines() 方法
三、print() 函數
四、使用 csv 模块
五、使用 json 模块
首頁 後端開發 Python教學 怎麼使用Python實作將內容寫入文件

怎麼使用Python實作將內容寫入文件

Jun 02, 2023 pm 10:26 PM
python

一、write()方法

使用 write() 方法:使用 open() 函數開啟文件,然後使用 write() 方法將內容寫入文件。例如:

with open('example.txt', 'w') as f:
    f.write('Hello, world!')
登入後複製

open() 函數是 Python 內建的用於開啟檔案的函數,其常用的參數及其意義如下:

1.file: 檔案名稱或檔案路徑。可以是絕對路徑或相對路徑。如果是相對路徑,則相對於目前工作目錄。如果省略了路徑,就在目前工作目錄中開啟檔案。

2.mode: 檔案開啟模式。可以是下列值之一:

  • 'r': 只讀模式。預設模式,如果檔案不存在,會引發異常。

  • 'w': 寫入模式。如果文件不存在,則建立文件。如果文件已存在,則清空文件並寫入新內容。

  • 'x': 獨佔建立模式。如果文件不存在,則建立文件。如果檔案已存在,則引發異常。

  • 'a': 追加模式。如果文件不存在,則建立文件。如果文件已存在,則將新內容新增至文件末端。

  • 'b': 二進位模式。與其他模式一起使用,例如 'rb' 或 'wb'。

  • 't': 文字模式。可與其他模式一同使用,例如“rt”或“wt”。

3.buffering: 設定緩衝區的大小。如果省略或為0,則不進行緩衝。如果為1,則行緩衝。如果大於1,則為緩衝區大小。

4.encoding: 用於編碼和解碼檔案內容的編碼格式。如果省略,使用預設編碼。

5.errors: 編碼和解碼檔案內容時遇到錯誤時的處理方式。可以是下列值之一:

  • 'strict': 預設值,表示遇到錯誤時引發例外狀況。

  • 'ignore': 忽略錯誤。

  • 'replace': 用 '?' 取代錯誤的字元。

  • 'backslashreplace': 用反斜線轉義取代錯誤的字元。

  • 'xmlcharrefreplace': 用 XML 實體取代錯誤的字元。

  • 'namereplace': 以 \N{...} 轉義取代錯誤的字元。

6.newline: 控製文字模式下的換行符號處理方式。可以是以下值之一:

  • None: 使用預設換行符號 \n。

  • '': 不進行換行符號轉換。

  • '\n', '\r', '\r\n', '\u2028', '\u2029': 使用指定的換行符號。

如果設定為 True,在開啟檔案時會關閉其底層檔案描述符。預設為 True。

8.opener: 用於開啟檔案的自訂函數或類別。預設為 None。

這些參數可以以不同的組合使用,以滿足對檔案的不同操作需求。例如,open('example.txt', 'w') 會以寫入模式開啟名為 example.txt 的文件,如果檔案不存在,則建立一個新的空文件。 

二、writelines() 方法

writelines() 方法將字串清單寫入檔案。例如:

with open('example.txt', 'w') as f:
    lines = ['Hello, world!', 'Welcome to Python']
    f.writelines(lines)
登入後複製

writelines() 方法是用來將字串清單寫入檔案的方法。但需要注意以下幾點: 

  • writelines() 方法只接受字串清單作為參數。如果要寫入單一字串,請使用 write() 方法。

  • writelines() 方法不會在字串之間自動新增換行符,需要手動將其新增至字串。

  • writelines() 方法不會在清單的最後新增空行,如果需要在最後一行新增空白行,請手動新增一個包含換行符的空字串。

  • 使用 writelines() 方法時,必須確保傳遞的參數為一個包含字串的清單。如果參數是一個生成器對象,則需要將其轉換為列表再傳遞。

lines = ['line 1\n', 'line 2\n', 'line 3\n']
 
with open('example.txt', 'w') as f:
    f.writelines(lines)
登入後複製

The advanced usage of methods mainly involves writing the data in an iterator object to a file without needing to convert it to a list all at once.。這種方法對於大規模資料集非常有用,因為它能夠逐一遍歷元素,避免將所有元素儲存在記憶體中。

def generate_lines():
    yield 'line 1\n'
    yield 'line 2\n'
    yield 'line 3\n'
 
with open('example.txt', 'w') as f:
    f.writelines(generate_lines())
登入後複製

在上面的程式碼中,generate_lines() 函數傳回一個迭代器對象,它逐一產生字串。然後,將這個迭代器物件傳遞給 writelines() 方法,writelines() 方法將迭代器物件中的字串逐一寫入檔案。

三、print() 函數

可以使用 print() 函數寫入檔案到內容,需要指定 file 參數為開啟的檔案物件。例如:

with open('example.txt', 'w') as f:
    print('Hello, world!', file=f)
登入後複製

以下是 print() 函數的常用參數及其詳細介紹:

print() 函數是 Python 中用於列印輸出資訊到終端的內建函數。 print() 函數可以接受多個參數,並將它們列印輸出到終端。

以下是print() 函數的常用參數及其詳細介紹:

print(*objects, sep=' ', end='\n', file=sys. stdout, flush=False)

  • *objects:一个或多个要打印输出的对象,可以是字符串、数字、变量等。可以接受任意数量的参数。

  • sep:用于分隔多个参数的字符,默认是一个空格。在打印输出多个参数时,sep 参数将作为它们之间的分隔符。

  • end:用于表示打印输出结束的字符,默认是一个换行符。在输出最后一个参数后,end 参数会被添加在它们后面的字符位置。

  • file参数可用于指定输出至一个文件对象,如果未指定则默认输出到标准输出设备sys.stdout。可以将输出重定向到文件中,以便将输出保存到文件中而不是终端。

  • flush:用于指定是否立即刷新缓冲区,默认为 False。如果设置 flush 参数为 True,那么输出会立即写入文件,而不需要等待缓冲区填满。

# 打印输出单个字符串
print("Hello World")
 
# 打印输出多个参数
print("Name:", "John", "Age:", 25)
 
# 使用自定义分隔符
print("Name:", "John", "Age:", 25, sep="-")
 
# 使用自定义结束符
print("Name:", "John", "Age:", 25, end=".")
 
# 将输出重定向到文件
with open('output.txt', 'w') as f:
    print("Hello World", file=f)
 
# 立即刷新缓冲区
print("Hello World", flush=True)
登入後複製

print(string, *args, **kwargs)

  • 一个包含需要输出的信息和格式化占位符的格式化字符串。占位符应该用花括号 {} 包含,同时指明相应数据的类型、宽度、精度等信息来进行填充格式化。

  • *args:可选参数,包含要填充到格式化字符串中的数据。

  • **kwargs:可选参数,包含键值对,用于指定格式化字符串中的占位符的值。

name = "John"
age = 25
 
# 使用占位符输出字符串
print("Name: {}, Age: {}".format(name, age))
 
# 使用关键字参数输出字符串
print("Name: {n}, Age: {a}".format(n=name, a=age))
 
# 使用 f-string 输出字符串
print(f"Name: {name}, Age: {age}")
登入後複製

四、使用 csv 模块

可以使用 csv 模块将数据写入 CSV 文件。例如:

import csv
 
with open('example.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['Alice', 25, 'F'])
    writer.writerow(['Bob', 30, 'M'])
登入後複製

五、使用 json 模块

可以使用 json 模块将 Python 对象写入 JSON 文件。例如:

import json
 
data = {
    'name': 'Alice',
    'age': 25,
    'gender': 'F'
}
 
with open('example.json', 'w') as f:
    json.dump(data, f)
登入後複製

以上是怎麼使用Python實作將內容寫入文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Golang vs. Python:性能和可伸縮性 Golang vs. Python:性能和可伸縮性 Apr 19, 2025 am 12:18 AM

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles