第三次python作业

📅 2026/7/31 1:47:25
第三次python作业
第一题第1题IO流‑文本 编写程序读取 article.txt 统计文件中英文单词出现总数量只统计单词忽略数字、标点符号 并将统计结果写入 result.txt 。 要求使用 with 语法文件编码 utf‑8 。代码zimu [] with open(article.txt, r, encodingutf-8) as f1, open(result.txt, r, encodingutf-8) as f2: yuju f1.read().split(,) for item1 in yuju: res item1.split( ) for item2 in res: print(type(item2)) if item2-999999 and item2999999: pass else: zimu.append(item2) res len(zimu) print(res) f2.write(str(res))运行截图第二题第2题IO流‑读写模式综合 现有文件 record.log 编写代码 1. 如果文件不存在则创建 2. 在文件末尾追加一行 2026‑07‑27 操作完成 3. 追加完成后读取文件全部内容打印到控制台。 提示注意光标位置选对打开模式。代码with open(record.log, a, encodingutf-8) as f3: f3.write(2026‑07‑27) f3.seek(0) print(f3.read())运行截图第三题第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 写出两个文件完整代码代码main.pyimport math_tool print(f圆面积为{math_tool.calc_area(5)}) print(f圆周长{math_tool.calc_circum(5)}) from math_tool import calc_area, calc_circum print(f圆面积为{calc_area(9)}) print(f圆周长{calc_circum(9)})math_tool.pyimport math def calc_area(r): garden_area math.pi*(r**2) return garden_area def calc_circum(r): garden_circum 2*math.pi*r return garden_circumimport main print(main)运行截图第四题第4题模块‑标准库os模块 使用 os 标准库完成 1. 遍历夹当前文件打印所有后缀为 .txt 的文件名 2. 创建文件夹 backup 3. 加判断条件如果backup文件夹已存在不要报错代码import os print(os.getcwd()) wenjian_name2 (os.listdir()) print(wenjian_name2) for item in wenjian_name2: if item.endswith(.txt): print(item) if backup not in wenjian_name2: os.mkdir(backup) print(已创建文件)运行截图第五题使用os和os.path以及函数的递归完成: 给出一个路径遍历当前路径所有的文件及文件夹 打印输出所有的文件(遇到文件输出路径遇到文件夹继续进文件夹)代码import os def lj_duqu(sum_wenjian_mulu,n): # 递归函数,参数为(接收文件名或目录名,路径) wenjian_name_lst [] # 用于储存文件名 for item in sum_wenjian_mulu: if os.path.isdir(item) True: # (判断是否为目录) mulu os.path.join(n,item) # 拼接文件路径 wenjian_name os.listdir(item) # 找出目录下有那些文件 wenjian_name_lst.extend(lj_duqu(wenjian_name, mulu)) # 这里不能用return执行递归,因为return会终止整个循环,导致只遍历其中一个目录(遍历递归) else: wenjian_name_lst.append(item) # 将文件名放入wenjian_name_lst列表 return wenjian_name_lst n input(请输入要查看的路径:)运行截图