Python系列(23)——文件读写

一、打开文件

在Python中,使用open()函数可以打开文件。该函数接受两个参数:文件名和模式。模式指定了打开文件的方式,如只读、只写、读写等。

示例:

python 复制代码
# 以只读方式打开文件
file = open('example.txt', 'r')

# 以写入方式打开文件,如果文件不存在则创建,如果文件存在则覆盖
file = open('example.txt', 'w')

# 以追加方式打开文件,如果文件不存在则创建,如果文件存在则在末尾追加内容
file = open('example.txt', 'a')

请注意,打开文件后,一定要记得在使用完毕后关闭文件,可以使用close()方法关闭文件。

二、读取文件

读取文件可以使用read()readline()readlines()等方法。

  • read()方法读取整个文件内容,并将其作为一个字符串返回。
  • readline()方法每次读取文件的一行内容。
  • readlines()方法读取整个文件内容,并将其作为一个字符串列表返回,每个元素代表文件中的一行。

示例:

python 复制代码
# 打开文件
file = open('example.txt', 'r')

# 读取整个文件内容
content = file.read()
print(content)

# 读取文件的第一行
first_line = file.readline()
print(first_line)

# 读取文件的所有行
lines = file.readlines()
for line in lines:
    print(line, end='')  # end='' 用于避免打印额外的换行符

# 关闭文件
file.close()

三、写入文件

写入文件可以使用write()方法。该方法接受一个字符串参数,并将其写入到文件中。

示例:

python 复制代码
# 以写入模式打开文件
file = open('example.txt', 'w')

# 写入内容到文件
file.write('Hello, World!\n')
file.write('This is a test file.\n')

# 关闭文件
file.close()

四、文件指针操作

文件对象内部有一个指针,指向当前读取或写入的位置。可以使用seek()方法移动指针位置,tell()方法获取当前指针位置。

示例:

python 复制代码
# 打开文件
file = open('example.txt', 'r')

# 读取文件的前10个字符
content = file.read(10)
print(content)

# 移动文件指针到文件开头
file.seek(0)

# 再次读取文件的全部内容
content = file.read()
print(content)

# 获取当前文件指针的位置
position = file.tell()
print(position)

# 关闭文件
file.close()

五、文件其他操作

除了上述基本操作外,Python还提供了其他文件操作方法,如检查文件是否存在、重命名文件、删除文件等。

示例:

python 复制代码
# 检查文件是否存在
import os
if os.path.exists('example.txt'):
    print('File exists.')
else:
    print('File does not exist.')

# 重命名文件
os.rename('example.txt', 'new_example.txt')

# 删除文件
os.remove('new_example.txt')

总结:Python提供了丰富的文件操作方法,使得开发者能够轻松处理文件。在实际开发中,根据需求选择合适的方法,并注意文件打开和关闭的管理,以避免资源泄露和错误发生。通过熟练掌握这些文件操作方法,我们可以更加高效地处理文件数据,实现各种文件相关的功能。

相关推荐
禹凕8 小时前
Python编程——进阶知识(面向对象编程OOP)
开发语言·python
爱问问题的小李8 小时前
ue 动态 Key 导致组件无限重置与 API 重复提交
前端·javascript·vue.js
九.九8 小时前
CANN 算子生态的底层安全与驱动依赖:固件校验与算子安全边界的强化
大数据·数据库·安全
蓝帆傲亦8 小时前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
一晌小贪欢8 小时前
深入理解 Python HTTP 请求:从基础到高级实战指南
开发语言·网络·python·网络协议·http
七牛云行业应用8 小时前
1M上下文腐烂?实测Opus 4.6 vs GPT-5.3及MoA降本架构源码
人工智能·python·llm·架构设计·gpt-5·claude-opus
子兮曰8 小时前
深入Vue 3响应式系统:为什么嵌套对象修改后界面不更新?
前端·javascript·vue.js
亓才孓8 小时前
[JDBC]事务
java·开发语言·数据库
CHU7290359 小时前
直播商城APP前端功能全景解析:打造沉浸式互动购物新体验
java·前端·小程序
枫叶丹49 小时前
【Qt开发】Qt界面优化(一)-> Qt样式表(QSS) 背景介绍
开发语言·前端·qt·系统架构