第1题(IO流‑文本)
编写程序:读取 article.txt ,统计文件中英文单词出现总数量(只统计单词,忽略数字、标点符号),
并将统计结果写入 result.txt 。
要求:使用 with 语法,文件编码 utf‑8 。

代码:
import re
with open('article.txt', 'r', encoding='utf-8') as f:
text = f.read()
word_list = re.findall(r'[a-zA-Z]+', text)
total = len(word_list)
with open('result.txt', 'w', encoding='utf-8') as f:
f.write(f'英文单词总数量:{total}')
print(f'统计完成,共 {total} 个单词,结果已保存到 result.txt')
运行结果:
![]()

思路分析:
使用with语法提取源文件,提取并统计单词数量,[a-zA-Z]+ 匹配所有连续的大小写英文字母,自动忽略数字、标点、空格、中文;使用with语法将统计的结果写入结果文件,指定encoding='utf-8',避免出现乱码。
第2题(IO流‑读写模式综合)
现有文件 record.log ,编写代码:
1. 如果文件不存在则创建;
2. 在文件末尾追加一行: 2026‑07‑27 操作完成 ;
3. 追加完成后读取文件全部内容打印到控制台。
提示:注意光标位置,选对打开模式。
代码:
with open('record.log', 'a+', encoding='utf-8') as f:
f.write('\n2026-07-27 操作完成')
f.seek(0)
all_content = f.read()
print('文件全部内容如下:')
print(all_content)
运行结果:

思路分析:
a+ 模式 = 追加写入 + 可读;文件不存在时会自动创建;追加一行内容,前面加 \n 保证每次都另起一行;写入后光标停在文件末尾,直接read()会读到空内容 ,用 seek(0) 把光标移动到文件最开头;最后读取全部内容并打印。
第3题(模块‑自定义模块)
1. 创建自定义模块 math_tool.py ,内部实现两个函数:
- calc_area(r) :计算圆面积
- calc_circum(r) :计算圆周长
2. 在另一个文件 main.py ,用两种不同导入方式调用这两个函数:
- 方式1: import math_tool
- 方式2: from math_tool import calc_area, calc_circum
写出两个文件完整代码。
代码:
1.
import math
def calc_area(r):
"""计算圆的面积,参数r为半径"""
return math.pi * r * r
def calc_circum(r):
"""计算圆的周长,参数r为半径"""
return 2 * math.pi * r
2.
import math_tool
area1 = math_tool.calc_area(5)
len1 = math_tool.calc_circum(5)
print("方式1运行结果:")
print(f"半径5的圆面积:{area1:.2f}")
print(f"半径5的圆周长:{len1:.2f}")
from math_tool import calc_area, calc_circum
area2 = calc_area(10)
len2 = calc_circum(10)
print("\n方式2运行结果:")
print(f"半径10的圆面积:{area2:.2f}")
print(f"半径10的圆周长:{len2:.2f}")
运行结果:

思路分析:
首先创建模块文件,创建对应的计算圆面积与圆周长的函数;之后创建主程序,必须将主程序和模块文件放在同一文件夹中,否则无法导入;
导入方式一:直接使用import导入整个模块,再调用,调用的格式 ---- 模块名.函数名(参数);
导入方式二:rom 模块 import 指定函数,调用格式 ---直接写函数名,不用加模块前缀。
第4题(模块‑标准库os模块)
使用 os 标准库完成:
1. 遍历当前文件夹,打印所有后缀为 .txt 的文件名;
2. 创建文件夹 backup ;
3. 加判断条件如果backup文件夹已存在不要报错。
代码:
import os
print("当前目录下的txt文件:")
for name in os.listdir('.'):
if name.endswith('.txt'):
print(name)
if not os.path.exists('backup'):
os.mkdir('backup') # 不存在才执行创建
print("\nbackup 文件夹创建成功")
else:
print("\nbackup 文件夹已存在,无需重复创建")
运行结果:

思路分析:
首先遍历当前的文件夹,打印所有.txt后缀的文件,使用os.listdir('.') 获取当前文件夹下所有文件、文件夹的名称,endswith 判断字符串是否以指定后缀结尾;创建backup文件夹,已存在不操作,不存在执行创建。
第5题
使用os和os.path以及函数的递归完成:
给出一个路径,遍历当前路径所有的文件及文件夹
打印输出所有的文件(遇到文件输出路径,遇到文件夹继续进文件夹)
代码:
import os
def scan_files(dir_path):
if not os.path.exists(dir_path):
print(f"错误:路径 {dir_path} 不存在")
return
for name in os.listdir(dir_path):
full_path = os.path.join(dir_path, name)
if os.path.isfile(full_path):
print(full_path)
elif os.path.isdir(full_path):
scan_files(full_path)
if __name__ == '__main__':
print("所有文件的完整路径:")
scan_files('.')
运行结果:

思路分析:
递归遍历文件夹,打印所有文件的完整路径;:param dir_path: 要遍历的根目录路径 ,先判断路径是否合法,避免程序崩溃,再遍历当前目录下的所有条目如果是文件,直接打印路径,如果是文件夹,递归调用自己,继续往里遍历。

6677

被折叠的 条评论
为什么被折叠?



