Python中文件的写入读取以及附加文字

本文介绍了Python中文件的基本操作,包括不同模式下打开文件的方法及注意事项。重点讲解了如何以写入模式(‘w’)和附加模式(‘a’)进行文件操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习到python的读取文件部分。

还是以一段代码为例:

filename='programming.txt'
with open(filename,'w') as file_object:
    file_object.write("I love programming.\n")
    file_object.write("I love travelling.\n")
在这里调用open打开文件,两个实参,一个是要打开的文件名称,第二个实参(‘w’)是告诉Python我们要以写入模式打开这个文件。打开文件的时候可以指定读取模式(‘r’)、写入模式(‘w’)、附加模式(‘a')或者读写模式(‘r+’).如果省略了第二个实参,则模式是读取模式。

下面是给文件的内容附加东西的代码。

#发现刚才没有添加完想要添加的东西,可以对其进行附加
with open(filename,'a') as file_object:
    file_object.write("I also love database and English.\n")
    file_object.write("I  love basketball and swimming.\n")
这里要注意的是,如果要写入的文件不存在,函数open则会自动创建,以(‘w’)模式打开文件的时候千万要小心,因为如果文件已经存在,python将会清空该文件。

使用附加模式(‘a')打开文件的时候,python不会清空源文件,而是你附加的内容都会添加到文件的末尾,如果指定的文件不存在,python将为你创建一个空文件。

Python 中,写入文件是一项常见的操作。你可以通过内置的 `open()` 函数打开一个文件,并指定模式为 `'w'`(写入模式)、`'a'`(追加模式)或 `'wb'`(二进制写入模式)等来进行写入操作。 --- ### 写入文件的基本步骤 1. **打开文件** 使用 `open()` 打开目标文件并指定访问模式。 2. **写入内容** 使用文件对象的 `.write()` 方法将字符串或其他数据写入文件中;如果需要换行,手动添加 `\n`。 3. **关闭文件** 确保完成所有操作后调用 `.close()` 关闭文件连接以释放资源。推荐使用上下文管理器 (`with open(...) as ...`) 自动处理关闭过程。 --- ### 示例代码 #### 1. 普通文本写入(覆盖) ```python # 覆盖式写入 ('w'),若文件已存在则清空原有内容 with open('example.txt', 'w', encoding='utf-8') as file: file.write("Hello, World!\n") file.write("这是第二行。\n") print("写入成功!") ``` #### 2. 追加文本到已有文件(不会删除原内容) ```python # 追加写入 ('a'), 新增的内容会被附加到最后 with open('example.txt', 'a', encoding='utf-8') as file: file.write("这条信息被追加到了文件末尾。\n") print("追加成功!") ``` #### 3. 写入多行内容 如果你有一个包含多条记录的列表,可以用循环逐一写入: ```python lines = ["第一行\n", "第二行\n", "第三行"] with open('multiline_example.txt', 'w', encoding='utf-8') as file: for line in lines: file.write(line) print("多行写入成功!") ``` 或者直接利用 `.writelines()` 方法批量插入无间隔符的数据流: ```python with open('multiline_writelines_example.txt', 'w', encoding='utf-8') as file: file.writelines(lines) # 注意这种方式不会有自动加入的新行分隔! print("writelines 方法写入成功!") ``` #### 4. 写入二进制文件 对于图片、音频这类非纯文本型资料来说,需采用二进制模式(`b`)进行保存读取动作。 ```python data = b'\x0c\x80\xa0' # 假设这是一个字节串例子 with open('binary_file.bin', 'wb') as binary_file: binary_file.write(data) print("二进制写入成功!") ``` --- ### 注意事项 - 当心编码问题,默认 UTF-8 编码适合大多数情况,但对于一些特殊的语言环境可能得调整合适的 codec 参数如 GBK、ISO-LATIN 等; - 如果尝试对只允许读权限下的路径创建新文档可能会失败,请事先核查系统设定是否允许可修改状态; - 利用 `try...except` 结构捕捉异常能够增强脚本健壮性,尤其在网络驱动映射位置或者外部存储设备上更显重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值