前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 小白的晋级之路 - 第十五部分:读写文件

Python 小白的晋级之路 - 第十五部分:读写文件

作者头像
剑指工控
发布2024-04-15 12:23:40
1680
发布2024-04-15 12:23:40
举报
文章被收录于专栏:剑指工控
JZGKCHINA

工控技术分享平台

引言

在计算机编程中,文件操作是一项基本而重要的技能。通过文件操作,我们可以读取、创建和写入文件,从而实现对数据的有效管理和处理。无论是文本文件、图像文件还是音频文件,文件操作都是处理文件数据的关键步骤。

本文将介绍Python中文件操作的基础知识和常用技巧。首先,我们将学习如何打开文件,并了解不同的文件读取和写入模式。然后,我们将探讨如何使用Python的文件对象进行读取和写入操作,包括read()、write()和readlines()等方法。此外,我们还将学习如何关闭文件,以释放系统资源。

1

文件操作简介

1.1

什么是文件操作

  • 文件操作是指在计算机中对文件进行读取、创建、写入等操作的过程。
  • 文件是存储在计算机上的一组数据,可以是文本文件、图像文件、音频文件等。

1.2

文件读取模式

读取模式用于打开文件并从文件中读取内容。常见的读取模式有:

  1. 'r':读取模式,用于读取文件内容(默认模式)。
  2. 'rb':二进制读取模式,用于读取二进制文件。
  3. 'rt':文本读取模式,用于读取文本文件。

1.3

文件写入模式

写入模式用于创建文件并向文件中写入内容。常见的写入模式有:

  1. 'w':写入模式,用于创建并写入文件内容。如果文件已存在,将会被清空。
  2. 'wb':二进制写入模式,用于创建并写入二进制文件。
  3. 'wt':文本写入模式,用于创建并写入文本文件。

2

读取文件

2.1

使用open()函数打开文件

open()函数接收文件名和模式作为参数,返回一个文件对象,可用于后续的文件操作。

示例代码:

代码语言:javascript
复制
file = open('example.txt', 'r')

2.2

不同读取模式的示例

使用不同的读取模式打开文件,可以决定文件的读取方式。

代码语言:javascript
复制
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

2.3

使用read()方法读取文件内容

read()方法用于从文件中读取内容,并将内容作为一个字符串返回。

示例代码:

代码语言:javascript
复制
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

2.4

使用readlines()方法逐行读取文件

readlines()方法用于逐行读取文件内容,并将每一行作为一个字符串存储在列表中返回。

示例代码:

代码语言:javascript
复制
file = open('example.txt', 'r')
lines = file.readlines()
for line in lines:
    print(line.strip())  # 去除每行末尾的换行符
file.close()

2.5

关闭文件

读取完文件之后,要使用close()方法关闭文件对象,释放资源。

示例代码:

代码语言:javascript
复制
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

3

创建与写入文件

3.1

使用open()函数创建文件

open()函数可以创建一个新的文件,并返回一个文件对象。

示例代码:

代码语言:javascript
复制
file = open('new_file.txt', 'w')
file.close()

3.2

不同写入模式的示例

使用不同的写入模式打开文件,可以决定文件的写入方式。

示例代码:

代码语言:javascript
复制
file = open('new_file.txt', 'w')
file.write("Hello, world!")
file.close()

3.3

使用write()方法写入文件内容

write()方法用于向文件中写入内容,可以是字符串或字节。

示例代码:

代码语言:javascript
复制
file = open('new_file.txt', 'w')
file.write("Hello, world!")
file.close()

3.4

使用writelines()方法批量写入文件

writelines()方法用于向文件中批量写入内容,接收一个包含多行文本的列表作为参数。

示例代码:

代码语言:javascript
复制
lines = ['Line 1\n', 'Line 2\n', 'Line 3\n']
file = open('new_file.txt', 'w')
file.writelines(lines)
file.close()
file.close()

3.5

关闭文件

写入完文件之后,要使用close()方法关闭文件对象,释放资源。

示例代码:

代码语言:javascript
复制
file = open('new_file.txt', 'w')
file.write("Hello, world!")
file.close()

4

程序案例:成绩管理器

4.1

需求分析

我们需要一个程序来管理学生成绩,包括从文件读取成绩、添加新成绩和显示所有成绩的功能。

4.2

实现步骤

4.2.1 从文件读取成绩

使用open()函数打开成绩文件,使用readlines()方法逐行读取成绩,并存储在一个列表中。关闭文件。返回成绩列表。

示例代码:

代码语言:javascript
复制
def read_grades(filename):
    file = open(filename, 'r')
    grades = file.readlines()
    file.close()
    return grades

4.2.2 添加新成绩

使用open()函数以写入模式打开成绩文件,使用write()方法将新成绩写入文件。关闭文件。

示例代码:

代码语言:javascript
复制
def add_grade(filename, new_grade):
    file = open(filename, 'a')
    file.write(new_grade + '\n')
    file.close()

4.2.3 显示所有成绩

调用read_grades()函数读取成绩,然后使用循环遍历成绩列表并打印每个成绩。

示例代码:

代码语言:javascript
复制
def display_grades(filename):
    grades = read_grades(filename)
    for grade in grades:
        print(grade.strip())

4.3

运行示例并展示结果

代码语言:javascript
复制
filename = 'grades.txt'

# 读取成绩
print("初始成绩:")
display_grades(filename)

# 添加新成绩
new_grade = input("请输入新的成绩:")
add_grade(filename, new_grade)

# 显示所有成绩
print("更新后的成绩:")
display_grades(filename)

执行结果:

代码语言:javascript
复制
初始成绩:
90
85
88
92
请输入新的成绩:95
更新后的成绩:
90
85
88
92
95

5

课后练习题

5.1

题目 1:统计文件中某单词的数量

编写一个函数,接收文件名和单词作为参数,统计文件中该单词出现的次数并返回。

示例代码:

代码语言:javascript
复制
def count_word(filename, word):
    file = open(filename, 'r')
    content = file.read()
    file.close()
    count = content.count(word)
    return count

5.2

题目 2:将多个文件合并成一个文件

编写一个函数,接收多个文件名和目标文件名作为参数,将多个文件的内容合并到目标文件中。

示例代码:

代码语言:javascript
复制
def merge_files(target_filename, *filenames):
    target_file = open(target_filename, 'w')
    for filename in filenames:
        file = open(filename, 'r')
        content = file.read()
        target_file.write(content)
        file.close()
    target_file.close()

5.3

题目 3:从文件中删除指定行

编写一个函数,接收文件名和行号作为参数,从文件中删除指定行,并保存修改后的文件。

示例代码:

代码语言:javascript
复制
def delete_line(filename, line_number):
    file = open(filename, 'r')
    lines = file.readlines()
    file.close()
    lines.pop(line_number - 1)
    file = open(filename, 'w')
    file.writelines(lines)
    file.close()

总结

本文介绍了 Python 中读取和写入文件的基本操作。首先,我们学习了使用open()函数来打开文件,并指定文件的打开模式(读取模式、写入模式等)。接下来,我们了解了文件对象的常用方法,如read()、write()、readlines()等,这些方法可以帮助我们读取和写入文件内容。此外,我们还学习了如何关闭文件对象,以释放资源。

在文章的后半部分,我们实现了一个简单的成绩管理器程序案例。这个程序包括从文件中读取成绩、添加新成绩和显示所有成绩等功能。通过这个案例,我们练习了读取文件、写入文件和处理文件内容的基本操作。

最后,我们提供了一些课后练习题供读者实践,涉及到统计文件中某单词的数量、将多个文件合并成一个文件以及从文件中删除指定行等操作。

通过本文的学习,读者可以掌握 Python 中读写文件的基本技巧,并应用到实际的编程项目中。

希望本文对读者有帮助,谢谢阅读!

它们应用到其他领域和项目中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档