一、file.write函數簡介
file.write函數是Python file對象的一個方法,用於將指定字符串寫入文件。該函數包括一個字符串參數,表示要寫入的內容。在寫入文件後,這個方法將會返回寫入字符的長度。
#示例代碼
with open('file.txt', 'w') as file:
length = file.write('Hello World!')
print('寫入了 %d 個字符' % length)
代碼執行後,將在當前目錄下創建一個file.txt文件,並向其中寫入Hello World!字符串,並且控制台輸出寫入了 12 個字符。
二、使用file.write函數寫入文件內容
使用file.write函數並不僅僅是將字符串寫入文件,它還能夠與其他Python庫結合使用,將結果輸出到文件中,比如使用BeautifulSoup庫從網頁中爬取數據,並將結果保存到本地文件。
#示例代碼
from bs4 import BeautifulSoup
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
with open('baidu.html', 'w') as file:
file.write(str(soup))
print('文件寫入完成。')
上述代碼演示了如何使用BeautifulSoup庫從百度首頁提取HTML,並通過使用file.write函數將提取到的網頁內容保存到文件baidu.html中。
三、寫入二進制文件
除了可以將文本文件寫入到文件中,open還可以打開二進制文件,從而將圖片等二進制數據寫入到文件中。
#示例代碼
with open('image.jpg', 'wb') as file:
image = requests.get('https://www.example.com/example.jpg')
file.write(image.content)
print('文件寫入完成。')
上述代碼演示了如何使用requests庫下載一張圖片,並通過file.write函數將二進制數據寫入文件image.jpg中。
四、寫入大文件
在寫入大文件時,可以通過每次寫入部分數據來減小內存佔用,避免程序崩潰。這個可以通過file.write函數的參數部分來實現。
#示例代碼
with open('largefile.txt', 'w') as file:
for i in range(10000000):
file.write('The quick brown fox jumps over the lazy dog\n')
if i % 1000 == 0:
file.flush()
print('寫入了 %d 行' % i)
print('文件寫入完成。')
在上述代碼中,我們每次寫入1000行,並調用file.flush()方法刷新緩衝區以確保這部分內容已經寫入到文件中。這樣可以避免一次性寫入大量數據導致內存崩潰。最後打印出“文件寫入完成”提示。
五、結語
Python file.write函數是一個非常有用的函數,可以用於將字符串、HTML等數據寫入到文件中。同時,我們還可以通過參數控制內存佔用,保證程序的穩定性。
原創文章,作者:FKZU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/149302.html