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

相关推荐
践行见远22 分钟前
django之视图
python·django·drf
love530love1 小时前
Windows避坑部署CosyVoice多语言大语言模型
人工智能·windows·python·语言模型·自然语言处理·pycharm
jjkkzzzz1 小时前
Linux下的c/c++开发之操作Redis数据库
数据库·c++·redis
香蕉可乐荷包蛋2 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
老华带你飞2 小时前
实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
java·数据库·spring boot·小程序·论文·毕设·实习记录小程序
未来之窗软件服务3 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
掘金-我是哪吒3 小时前
分布式微服务系统架构第132集:Python大模型,fastapi项目-Jeskson文档-微服务分布式系统架构
分布式·python·微服务·架构·系统架构
Elastic 中国社区官方博客3 小时前
Elasticsearch 索引副本数
大数据·数据库·elasticsearch·搜索引擎·全文检索
冬瓜的编程笔记3 小时前
【八股战神篇】MySQL高频面试题
数据库·mysql·面试