Python3 文件读写(持续更新)

本文详细介绍了使用Python3进行文件操作的基本方法,包括文件的创建、读取、写入及关闭等关键步骤。通过示例代码展示了如何在指定路径下创建文件、写入文本、读取内容并复制到另一个文件中。

Python3 文件读写(持续更新)

创建文件+关闭文件+读取+写入

f = open('C:\\project\\python\\test1.txt', 'w', encoding='utf-8')
f.write("床前明月光\n疑是地上霜\n举头望明月\n低头思故乡")
f.close()
f = open('C:\\project\\python\\test1.txt', 'r', encoding='utf-8')
F = open('C:\\project\\python\\test2.txt', 'w', encoding='utf-8')
for i in f:
    print(i)
    F.write(i)
F.close()
### 文件读取方法 在Python中,文件读取可以通过多种方式进行,具体取决于需求。最常用的方法是使用 `open()` 函数配合不同的模式进行读取。 - **一次性读取全部内容** 使用 `read()` 方法可以一次性读取文件的全部内容。为了确保文件正确关闭,推荐使用 `with` 语句管理文件上下文: ```python with open('data.txt', 'r') as file: content = file.read() print("文件内容:\n", content) ``` 这种方式适合处理较小的文件,因为它会将整个文件加载到内存中[^4]。 - **逐行读取** 如果文件较大,可以使用 `readline()` 或 `readlines()` 方法逐行处理文件内容: ```python with open('data.txt', 'r') as file: line = file.readline() while line: print(line.strip()) line = file.readline() ``` 或者直接获取所有行的列表: ```python with open('data.txt', 'r') as file: lines = file.readlines() for line in lines: print(line.strip()) ``` 这种方式更适合处理大文件,因为它可以控制每次读取的数据量[^3]。 ### 文件写入方法 文件写入操作同样可以通过 `open()` 函数实现,具体模式取决于是否需要覆盖已有内容或追加内容。 - **覆盖写入** 使用 `'w'` 模式打开文件时,如果文件已存在,则会清空其内容。如果文件不存在,则会创建新文件: ```python with open('output.txt', 'w') as file: file.write('Hello, World!') ``` 这种方式适合需要完全替换文件内容的场景[^2]。 - **追加写入** 使用 `'a'` 或 `'a+'` 模式可以在文件末尾追加内容,而不会影响文件中已有的数据: ```python with open('output.txt', 'a') as file: file.write('\n追加的内容') ``` 这种方式适用于日志文件或其他需要持续记录数据的场景[^4]。 ### 二进制文件处理 对于非文本文件(如图片、视频等),需要使用二进制模式进行读写操作。二进制模式通过 `'rb'` 和 `'wb'` 模式指定: ```python with open('image.jpg', 'rb') as src: with open('image_copy.jpg', 'wb') as dst: dst.write(src.read()) ``` 这种方式可以确保文件内容以字节形式正确读取和写入,适用于所有类型的二进制文件[^1]。 ### CSV 文件处理 当处理CSV文件时,可以使用 `csv` 模块来简化读写操作。读取CSV文件的示例如下: ```python import csv with open(r'aaa/b1.csv', 'r', encoding='utf-8') as f1: reader = csv.reader(f1) datalist = list(reader) print(datalist) ``` 这种方式能够自动解析CSV格式,并将每一行转换为一个列表,便于进一步处理[^5]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值