精通 Python 文件处理:创建、读取、写入、打开文本文件
精通 Python 文件处理:创建、读取、写入、打开文本文件
Python 文件处理
Python 无需导入外部库即可读写文件。Python 提供内置函数创建、写入和读取文件。
本文件处理教程将学习:
- 如何在 Python 中打开文本文件
- 如何在 Python 中创建文本文件
- 如何在 Python 中追加文本文件
- 如何在 Python 中读取文件
- 如何在 Python 中逐行读取文件
- Python 文件模式
如何在 Python 中打开文本文件
打开文件需使用内置 open 函数。Python 文件打开函数返回文件对象,包含打开文件的各种操作方法和属性。
Python 打开文件函数语法
file_object = open("filename", "mode")
其中,
- filename: 文件对象打开的文件名。
- mode: 文件对象的属性,告知文件以何种模式打开。
模式详情见下文。
如何在 Python 中创建文本文件
用写入模式可创建 .txt 文件(如 guru99.txt),演示代码如下:
步骤 1)打开 .txt 文件
f = open("guru99.txt", "w+")
- 声明变量 "f" 打开名为 guru99.txt 的文件。open 接受 2 个参数:要打开的文件和表示权限/操作的字符串。
- 参数中用 "w" 表示 Python 写入文件,若文件不存在则创建。
- 加号表示 Python 创建文件操作的读写双权限。
步骤 2)向文件写入数据
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
- for 循环遍历 10 个数字。
- 用 write 函数写入数据。
- 输出内容为 "this is line number",用 Python 写文件函数和 %d(显示整数)声明。
- 写入行号,加回车换行符。
步骤 3)关闭文件实例
f.close()
- 关闭存储的 guru99.txt 文件实例。
创建文本文件代码执行结果:
如何在 Python 中创建文本文件
点击文本文件 "guru99.txt" 将显示类似内容:
Python 创建文本文件示例
如何在 Python 中追加文本文件
也可向已有文件或新文件追加文本。
步骤 1)
f = open("guru99.txt", "a+")
代码中加号表示若文件不存在则创建。本例文件已存在,无需为追加操作创建新文件。
步骤 2)
for i in range(2):
f.write("Appended line %d\r\n" % (i+1))
以追加模式写入数据。
如何在 Python 中追加文本文件
可在 "guru99.txt" 看到输出。代码输出为原文件经 Python 追加操作后附加新数据。
Python 追加文本文件示例
如何在 Python 中读取文件
以 "读模式"(r) 调用 .txt 文件可读取文件。
步骤 1) 以读模式打开文件
f = open("guru99.txt", "r")
步骤 2) 用 mode 函数检查文件是否打开模式。是则继续
if f.mode == 'r':
步骤 3) 用 f.read 读取文件数据存入变量 content 以便读取
contents = f.read()
步骤 4) 打印 contents 读取文本文件
读取文件 Python 示例输出:
如何在 Python 中读取文件
如何在 Python 中逐行读取文件
数据过大时可逐行读取 .txt 文件。readlines() 将数据分离为易读模式。
如何在 Python 中逐行读取文件
运行代码 (f1=f.readlines()) 逐行读取文件,每行分离呈现易读格式。本例行短且可读,输出类似读模式。但复杂数据文件难读时此代码很有用。
Python 文件模式
以下是各 Python 文件模式:
| 模式 | 描述 |
|---|---|
| 'r' | 默认模式。打开文件供读取。 |
| 'w' | 打开文件供写入。文件不存在则创建新文件;存在则截断文件。 |
| 'x' | 创建新文件。文件已存在则操作失败。 |
| 'a' | 追加模式打开文件。文件不存在则创建新文件。 |
| 't' | 默认模式。文本模式打开。 |
| 'b' | 二进制模式打开。 |
| '+' | 打开文件供读写(更新) |
完整 Python print() 到文件示例代码:
Python 2 示例
def main():
f = open("guru99.txt","w+")
# f = open("guru99.txt","a+")
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
f.close()
# 重新打开读取内容
# f = open("guru99.txt", "r")
# if f.mode == 'r':
# contents = f.read()
# print contents
# 或用 readlines 逐行读入列表
# fl = f.readlines()
# for x in fl:
# print x
if __name__ == "__main__":
main()
Python 3 示例
def main():
f = open("guru99.txt","w+")
# f = open("guru99.txt","a+")
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
f.close()
# 重新打开读取内容
# f = open("guru99.txt", "r")
# if f.mode == 'r':
# contents = f.read()
# print(contents)
# 或用 readlines 逐行读入列表
# fl = f.readlines()
# for x in fl:
# print(x)
if __name__ == "__main__":
main()
总结
- Python 允许读、写、删除文件
- 用
open("filename","w+")创建文本文件。+ 告诉解释器以读写权限打开文本文件。 - 向现有文件追加数据或 Python 打印到文件,用
open("Filename", "a") - 用 Python 读文件函数读取文件全部内容
- 用 readlines 函数逐行读取文件内容
Python
- Python构建多层感知机神经网络:实战指南
- C语言文件处理完全指南:fopen、fprintf、fread 与 fseek
- 用 VHDL TEXTIO 库从文本文件初始化 FPGA 块 RAM
- Python入门:安装、运行与编写第一个程序
- Python 文件 I/O:掌握文件操作、读写与管理
- Python print() 函数完全指南:基础用法、空行打印与自定义结束符
- Python 检查文件与目录是否存在:实战指南
- Python JSON:编码、解码与文件处理实战指南
- Python 计算平均值:从循环到 NumPy 的四种实战方法
- Python 文件 I/O:掌握输入输出操作
- Python 异常处理全攻略:从入门到精通
- Java BufferedReader 读取文件:实战指南与示例