第一题:(IO流‑文本)

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

【代码】

import string

# 1.读取文件统计单词
word_total = 0
with open("article.txt", "r", encoding="utf-8") as f_read:
    content = f_read.read()

# 清理:去掉标点、数字
punctuation = string.punctuation  # 所有英文标点
digits = "0123456789"
clean_content = content
for char in punctuation + digits:
    clean_content = clean_content.replace(char, " ")

# 分割单词并过滤空元素
word_list = [word for word in clean_content.split() if word.strip()]
word_total = len(word_list)

# 2.写入结果到result.txt
with open("result.txt", "w", encoding="utf-8") as f_write:
    f_write.write(f"文章中英文单词总数量:{word_total}")

print(f"统计完成,单词总数:{word_total},已写入result.txt")

【运行截图】

第二题:(IO流‑读写模式综合) 

现有文件 record.log ,编写代码:
1. 如果文件不存在则创建;
2. 在文件末尾追加一行: 2026‑07‑27 操作完成 ;
3. 追加完成后读取文件全部内容打印到控制台。
提示:注意光标位置,选对打开模式。

【代码】

import os

# 追加一行日志
with open("record.log", "a", encoding="utf-8") as f_append:
    f_append.write("2026-07-27 操作完成\n")  # \n换行

# r模式读取全部内容并打印
with open("record.log", "r", encoding="utf-8") as f_read:
    all_content = f_read.read()

print("record.log文件全部内容:")
print(all_content)

【运行截图】

第三题:(模块‑自定义模块)

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 
写出两个文件完整代码。

【代码】

# math_tool.py

import math

# 计算圆面积
def calc_area(r):
    if r <= 0:
        return "半径不能为负数或0"
    return math.pi * r ** 2

# 计算圆周长
def calc_circum(r):
    if r <= 0:
        return "半径不能为负数或0"
    return 2 * math.pi * r
# main.py

import math_tool

r = 5
area1 = math_tool.calc_area(r)
circum1 = math_tool.calc_circum(r)
print("方式1调用结果:")
print(f"半径{r} 面积:{area1:.2f},周长:{circum1:.2f}")

print("-" * 50)

# ========== 导入方式2:from 模块 import 指定函数 ==========
from math_tool import calc_area, calc_circum

r2 = 3
area2 = calc_area(r2)
circum2 = calc_circum(r2)
print("方式2调用结果:")
print(f"半径{r2} 面积:{area2:.2f},周长:{circum2:.2f}")

【运行截图】

第四题:(模块‑标准库os模块)

使用 os 标准库完成:
1. 遍历当前文件夹,打印所有后缀为 .txt 的文件名;
2. 创建文件夹 backup ;
3. 加判断条件如果backup文件夹已存在不要报错。

【代码】

import os

# 1.遍历当前文件夹,打印所有.txt后缀文件
print("当前目录下所有txt文件:")
current_path = os.getcwd()
all_files = os.listdir(current_path)
for file_name in all_files:
    if file_name.endswith(".txt"):
        print(file_name)

print("-" * 30)

# 2.创建backup文件夹,存在则跳过不报错
folder_name = "backup"
if not os.path.exists(folder_name):
    os.mkdir(folder_name)
    print(f"文件夹 {folder_name} 创建成功")
else:
    print(f"文件夹 {folder_name} 已存在,无需重复创建")

【运行截图】

(因为record文件为.log后缀名,所以并没有算入其中)

第五题:

使用os和os.path以及函数的递归完成:
给出一个路径,遍历当前路径所有的文件及文件夹
打印输出所有的文件(遇到文件输出路径,遇到文件夹继续进文件夹)

【代码】

import os

def traverse_all_files(folder_path):
    # 遍历该路径下所有子项
    for item in os.listdir(folder_path):
        # 拼接完整路径
        full_path = os.path.join(folder_path, item)
        # 判断是否为文件夹
        if os.path.isdir(full_path):
            # 是文件夹:递归继续遍历
            traverse_all_files(full_path)
        else:
            # 是文件:直接打印完整路径
            print(full_path)

# 调用:传入当前工作目录,也可以手动写绝对路径如 r"D:/test"
if __name__ == "__main__":
    root_dir = os.getcwd()
    print("递归遍历所有文件路径:")
    traverse_all_files(root_dir)

【运行截图】

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐