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

相关推荐
小oo呆几秒前
【学习心得】Python好库推荐——pipx
linux·开发语言·python
smile_Iris2 分钟前
Day 28 元组和OS模块
python·机器学习
s***46982 分钟前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
Elastic 中国社区官方博客3 分钟前
EDB EPAS 通过 PostgreSQL 连接器同步数据到 Elasticsearch
大数据·数据库·人工智能·elasticsearch·搜索引擎·postgresql·全文检索
BD_Marathon6 分钟前
【JavaWeb】HTML常见标签——标题段落和换行
前端·html
小飞侠在吗8 分钟前
vue OptionsAPI与CompositionAPI
前端·javascript·vue.js
allione17 分钟前
数据库中容易混淆的关键字alter/update...
数据库·sql
AI科技星17 分钟前
时空运动的几何约束:张祥前统一场论中圆柱螺旋运动光速不变性的严格数学证明与物理诠释
服务器·数据结构·人工智能·python·科技·算法·生活
cqsztech21 分钟前
如何在Oracle linux9.6 安装docker软件
数据库·docker·oracle
天涯路s22 分钟前
qt怎么将模块注册成插件
java·服务器·前端·qt