网站首页 > 技术文章 正文
文件操作是 Python 中非常重要的技能,几乎每个项目都会涉及到。今天我们从文件操作的起点——open() 方法开始。
什么是 open() 方法?
open() 是 Python 提供的内置函数,用于打开文件并返回文件对象。你可以通过这个文件对象执行各种文件操作,比如读取、写入等。
基本语法
Bash
file_object = open(file_name, mode, encoding=None)
- file_name:文件的路径和名称。
- mode:文件打开的模式,默认是 'r'(只读模式)。
- encoding:文件的编码类型,处理文本文件时常用,比如 'utf-8'。
文件模式详解
模式 | 说明 |
'r' | 只读模式,文件必须存在。 |
'w' | 写入模式,清空文件内容或创建新文件。 |
'a' | 追加模式,保留文件内容,在末尾添加新内容。 |
'b' | 二进制模式,常与其他模式组合使用,如 'rb'。 |
'x' | 独占写入模式,文件不存在时创建,存在时报错。 |
'+' | 读写模式,与其他模式组合使用,如 'r+'。 |
示例:打开一个文件
假设有一个名为 example.txt 的文件,其内容如下:
Bash
Hello, Python!
只读模式
file = open('example.txt', 'r')
content = file.read()
print(content) # 输出:Hello, Python!
file.close()
注意:读取文件后要调用 close() 方法释放资源。
写入模式
file = open('example.txt', 'w')
file.write('Overwritten content')
file.close()
'w' 模式会清空文件原有内容,再写入新内容。
追加模式
file = open('example.txt', 'a')
file.write('\\nNew line appended')
file.close()
'a' 模式在文件末尾添加新内容,不会影响已有数据。
with 语句的使用
手动关闭文件容易出错,with 语句能自动管理文件的打开与关闭:
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# 无需手动调用 file.close()
常见错误
文件不存在
如果文件不存在且用 'r' 模式打开,会抛出 FileNotFoundError。
解决方法:
- 使用 'w' 模式创建文件。
- 在打开文件前检查文件是否存在: import os if os.path.exists('example.txt'): with open('example.txt', 'r') as file: print(file.read()) else: print('文件不存在!')
编码问题
读取包含特殊字符的文件时,可能需要指定正确的编码:
with open('example.txt', 'r', encoding='utf-8') as file:
print(file.read())
练习任务
- 创建一个名为 test.txt 的文件,并写入以下内容: This is a test file. Python is fun!
- 使用 'r' 模式读取并打印文件内容。
- 使用 'a' 模式在文件末尾添加一行:Learning file operations.
- 用 'r' 模式再次读取并打印完整内容。
完成以上任务后,你将掌握文件操作的基础知识。下一步,我们将深入学习文件读取的方法!
猜你喜欢
- 2025-05-02 python执行.sql语法和文件(python oracle sql语句跟参数)
- 2025-05-02 python unittest 基本用法(python中testcase)
- 2025-05-02 免费定时运行Python程序并存储输出文档的服务推荐
- 2025-05-02 一文掌握Python找到文件操作(python找到文件夹下指定文件)
- 2025-05-02 python 文件操作(python 文件操作模块)
- 2025-05-02 pdb,让python文件在linux中跑起来
- 2025-05-02 IDEA中配置Python环境并运行(idea 运行python)
- 2025-05-02 14《Python 办公自动化教程》os 模块操作文件与文件夹
- 2025-05-02 Python自动化办公自学笔记(八)文件操作
- 2025-05-02 使用 Python 监控文件系统(python监控文件变化)
- 272℃Python短文,Python中的嵌套条件语句(六)
- 271℃python笔记:for循环嵌套。end=""的作用,图形打印
- 269℃PythonNet:实现Python与.Net代码相互调用!
- 264℃Python实现字符串小写转大写并写入文件
- 263℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 122℃原来2025是完美的平方年,一起探索六种平方的算吧
- 104℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 99℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- Python数据分析实战-dataframe分组提取每一组的首条记录
- 如何使用Python将多个excel文件数据快速汇总?
- 「Python数据分析」Pandas进阶,使用groupby分组聚合数据(二)
- 还在熬夜合并30个Excel 3个案例,带你用Python玩转Excel高阶操作
- python数据分析实战:pandas分组聚合-自定义聚合函数
- Python 知识点 #31 - 分组和聚(python分层聚类)
- 人生苦短,自学 python——pandas 的分组操作
- 利用Python进行数据分组/数据透视表
- 超实用!用Python快速实现数据分组统计与透视表
- Python 之 Pandas:数据分组聚合统计的魔法秘籍
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)