如何将Python代码的运行结果输出至文本文件?
将谷歌搜索结果写入文本文件的几种实现方式
方法1:使用with语句写入(推荐)
这是Python处理文件最安全的方式,会自动关闭文件,避免资源泄漏。可根据需求选择逐行写入或一次性写入:
逐行写入(适合爬取过程中实时保存)
# 替换成你实际的爬取结果列表 search_results = ["搜索结果1", "搜索结果2", "搜索结果3"] # 'w'表示覆盖写入,需追加内容用'a',指定utf-8避免中文乱码 with open("谷歌搜索结果.txt", "w", encoding="utf-8") as file: for result in search_results: # 每条结果后加换行符,保证内容排版清晰 file.write(f"{result}\n") # 保留原print语句可同时在控制台输出 print(result)
一次性写入(适合结果全部爬取完成后保存)
如果先把所有结果收集到容器中,可一次性写入提升效率:
search_results = ["搜索结果1", "搜索结果2", "搜索结果3"] # 用换行符拼接所有结果为单个字符串 results_text = "\n".join(search_results) with open("谷歌搜索结果.txt", "w", encoding="utf-8") as file: file.write(results_text)
方法2:重定向print输出流
不想修改原有print代码的话,可直接将print的输出重定向到文件:
import sys # 保存控制台输出的原始流,后续恢复使用 original_stdout = sys.stdout with open("谷歌搜索结果.txt", "w", encoding="utf-8") as file: sys.stdout = file # 执行你原有的爬取和print逻辑 search_results = ["搜索结果1", "搜索结果2", "搜索结果3"] for result in search_results: print(result) # 恢复控制台输出,避免后续print无法显示在屏幕上 sys.stdout = original_stdout
方法3:手动打开/关闭文件(不推荐)
这种方式需手动调用close()关闭文件,容易因遗漏操作导致内容未写入或资源泄漏,仅作参考:
search_results = ["搜索结果1", "搜索结果2", "搜索结果3"] file = open("谷歌搜索结果.txt", "w", encoding="utf-8") for result in search_results: file.write(f"{result}\n") # 必须执行关闭操作 file.close()
注意事项
- 写入模式:
w会覆盖原有文件内容,a会在文件末尾追加内容,按需选择。 - 编码设置:务必指定
encoding="utf-8",防止中文或特殊字符乱码。
内容的提问来源于stack exchange,提问作者Fuat Yavuz
相关产品推荐
相关产品推荐

