小练习
创建一个程序:
- 读取”自我介绍.txt”文件
- 使用三种不同方法分别读取并显示内容
- 统计文件中”Python”这个词出现的次数
- 找出文件中最长的一行
def 使用read方法读取(文件名):
"""使用 read() 方法读取文件"""
print(" 方法1:使用 read() 读取整个文件")
print("-" * 40)
try:
with open(文件名, 'r', encoding='utf-8') as file:
内容 = file.read()
print(内容)
return 内容
except FileNotFoundError:
print(f"❌ 文件 '{文件名}' 不存在!")
return None
def 使用readline方法读取(文件名):
"""使用 readline() 方法逐行读取文件"""
print("
方法2:使用 readline() 逐行读取")
print("-" * 40)
try:
with open(文件名, 'r', encoding='utf-8') as file:
行号 = 1
while True:
行内容 = file.readline()
if not 行内容: # 如果读到空字符串,说明文件结束
break
print(f"第{行号}行: {行内容}", end='')
行号 += 1
except FileNotFoundError:
print(f"❌ 文件 '{文件名}' 不存在!")
def 使用readlines方法读取(文件名):
"""使用 readlines() 方法读取所有行到列表"""
print("
方法3:使用 readlines() 读取所有行")
print("-" * 40)
try:
with open(文件名, 'r', encoding='utf-8') as file:
所有行 = file.readlines()
for 行号, 行内容 in enumerate(所有行, 1):
print(f"第{行号}行: {行内容}", end='')
return 所有行
except FileNotFoundError:
print(f"❌ 文件 '{文件名}' 不存在!")
return None
def 统计关键词出现次数(文件名, 关键词):
"""统计特定关键词在文件中出现的次数"""
try:
with open(文件名, 'r', encoding='utf-8') as file:
内容 = file.read()
# 不区分大小写统计
出现次数 = 内容.lower().count(关键词.lower())
print(f"
统计结果:")
print(f"关键词 '{关键词}' 在文件中出现了 {出现次数} 次")
return 出现次数
except FileNotFoundError:
print(f"❌ 文件 '{文件名}' 不存在!")
return 0
def 找出最长行(文件名):
"""找出文件中最长的一行"""
try:
with open(文件名, 'r', encoding='utf-8') as file:
所有行 = file.readlines()
if not 所有行:
print("文件为空!")
return None
最长行 = max(所有行, key=len)
行号 = 所有行.index(最长行) + 1
长度 = len(最长行.rstrip()) # 去除末尾换行符后的长度
print(f"
最长行信息:")
print(f"第{行号}行是最长的,有{长度}个字符")
print(f"内容:{最长行.rstrip()}")
return 最长行, 行号, 长度
except FileNotFoundError:
print(f"❌ 文件 '{文件名}' 不存在!")
return None
def 主程序():
"""主程序:执行所有要求的操作"""
文件名 = "自我介绍.txt"
print(" 文件读取与分析程序")
print("=" * 50)
# 1. 使用三种方法读取文件
内容1 = 使用read方法读取(文件名)
使用readline方法读取(文件名)
所有行 = 使用readlines方法读取(文件名)
# 2. 统计"Python"出现次数
统计关键词出现次数(文件名, "Python")
# 3. 找出最长行
找出最长行(文件名)
print("
" + "=" * 50)
print("✅ 所有任务完成!")
# 如果文件不存在,先创建一个示例文件
def 创建示例文件():
"""如果文件不存在,创建一个示例的自我介绍文件"""
try:
with open("自我介绍.txt", "r", encoding="utf-8"):
pass # 文件存在,不需要创建
except FileNotFoundError:
print(" 创建示例自我介绍文件...")
内容 = """✨ 个人简介 ✨
====================
姓名:张三
年龄:25岁
爱好:Python编程、阅读、游泳
技能:Python、数据分析、机器学习
座右铭:Life is short, I use Python!
梦想:成为一名优秀的Python开发者
学习经历:目前正在深入学习Python文件操作和数据分析
===================="""
with open("自我介绍.txt", "w", encoding="utf-8") as file:
file.write(内容)
print("✅ 示例文件创建完成!
")
# 运行程序
if __name__ == "__main__":
创建示例文件()
主程序()
运行结果示例
当你运行这个程序时,会看到类似这样的输出:
文件读取与分析程序
==================================================
方法1:使用 read() 读取整个文件
----------------------------------------
✨ 个人简介 ✨
====================
姓名:张三
年龄:25岁
爱好:Python编程、阅读、游泳
技能:Python、数据分析、机器学习
座右铭:Life is short, I use Python!
梦想:成为一名优秀的Python开发者
学习经历:目前正在深入学习Python文件操作和数据分析
====================
方法2:使用 readline() 逐行读取
----------------------------------------
第1行: ✨ 个人简介 ✨
第2行: ====================
第3行: 姓名:张三
第4行: 年龄:25岁
第5行: 爱好:Python编程、阅读、游泳
第6行: 技能:Python、数据分析、机器学习
第7行: 座右铭:Life is short, I use Python!
第8行: 梦想:成为一名优秀的Python开发者
第9行: 学习经历:目前正在深入学习Python文件操作和数据分析
第10行: ====================
方法3:使用 readlines() 读取所有行
----------------------------------------
第1行: ✨ 个人简介 ✨
第2行: ====================
第3行: 姓名:张三
第4行: 年龄:25岁
第5行: 爱好:Python编程、阅读、游泳
第6行: 技能:Python、数据分析、机器学习
第7行: 座右铭:Life is short, I use Python!
第8行: 梦想:成为一名优秀的Python开发者
第9行: 学习经历:目前正在深入学习Python文件操作和数据分析
第10行: ====================
统计结果:
关键词 'Python' 在文件中出现了 4 次
最长行信息:
第9行是最长的,有29个字符
内容:学习经历:目前正在深入学习Python文件操作和数据分析
==================================================
✅ 所有任务完成!
代码详解
1. 三种读取方法
read() 方法:
- 一次性读取整个文件内容
- 返回一个字符串
- 适合文件较小的情况
readline() 方法:
- 每次读取一行
- 返回空字符串时表明文件结束
- 适合大文件或需要逐行处理的情况
readlines() 方法:
- 读取所有行到列表中
- 每行作为列表的一个元素
- 方便按行号访问内容
2. 关键词统计
出现次数 = 内容.lower().count(关键词.lower())
- 使用 lower() 将内容和关键词都转为小写
- 实现不区分大小写的统计
- count() 方法统计出现次数
3. 找出最长行
最长行 = max(所有行, key=len)
- max() 函数找出最大值
- key=len 指定按字符串长度比较
- rstrip() 去除行尾的换行符
4. 异常处理
try:
with open(文件名, 'r', encoding='utf-8') as file:
# 文件操作
except FileNotFoundError:
print(f"❌ 文件 '{文件名}' 不存在!")
- 使用 try-except 处理文件不存在的情况
- 给用户友善的错误提示
扩展练习
如果你想进一步练习,可以尝试:
- 统计所有行的平均长度
- 找出包含特定词汇的所有行
- 创建一个文件分析报告,包含各种统计信息
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END






















- 最新
- 最热
只看作者