一、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等数据写入到文件中。同时,我们还可以通过参数控制内存占用,保证程序的稳定性。