资源简介
该程序实现了,对学生作业的相应文件的检索,然后找出文件名中的学生学号;最后,在学生名单中,勾选出没有交作业的学生,并将没交作业的学生信息打印出来,保存在txt文本中。
方便作业的管理,同时可以根据自己的需要,再次开发出属于自己的优质管理系统。
代码片段和文件信息
“““
:function 学生作业管理系统
:note 将没有交作业的学生,在excel文件名单中标记,并生成相应的 txt 文件
:problem 目前最多纪录的作业数为 8 次作业,因为表格中的空余为 8 列,如果需要更多作业数
需要自己手动在excel文件中,插入行的列,方可实现更多数据录入
“““
import os
import re # 正则表达式支持包
import xlwt # 表格文件写入包
import xlrd # 表格文件读取包
from openpyxl import *
# 获取给定路径下的所以文件
def fileName(filePath):
“““
os.walk(filePath) 遍历的是整个路径下的文件
返回的是一个元组,第一个元素是 当前目录下的路径 第二个是路径下的子目录
第三个是 当前路径下所有的非目录文件
:param filePath:
:return: 文件名中的数字字符
“““
retL = []
for rootdirstpaths in os.walk(filePath):
# print(root) # 当前目录下的路径
# print(dirs) # 文件下的子目录
# print(tpath) # 当前目录下所有的非目录文件
# 分离非目录文件中的字符串
# print(tpaths)
for path in tpaths:
retL.append(getNumber(path))
return retL
def getNumber(inStr):
“““
从输入的字符串中获取数字字符串
:param inStr:
:return: outStr
“““
matchStr = r‘[0-9a-zA-Z]+‘ # ‘\d+‘ # 使用正则表达式进行匹配其中的数字数据
s = re.findall(matchStrinStr)
if s==[]:
return None
else:
return s[0]
# print( re.findall(matchStr‘唐鸿2010bafg12‘)[0])
def judgeFileExist(lstNumberdirStu):
“““
判断学生作业是否存在
:param lstNumber: 学生作业文件名中的学号
:param dirStu: 学生姓名与学号信息
:return:tmpDir: 返回没有作业的学生信息
“““
tmpDir = dirStu.copy() # 深层复制学生字典信息
if lstNumber==None or dirStu==None:
return
if not isinstance(dirStudict):
return
if not isinstance(lstNumberlist):
del tmpDir[lstNumber]
else:
lstLen = len(lstNumber)
for nloop in range(lstLen):
try:
strNumber = lstNumber[nloop]
del tmpDir[strNumber] # 删除已交作业的人的信息
except:
pass
return tmpDir
def getXlsxDate(xlsxPath):
“““
获取表格文件数据
:param xlsxPath: 表格文件路径
:return: retdir: dir类型数据
“““
retdir={} # 使用字典,方便数据一一对应
rdWb = xlrd.open_workbook(xlsxPath) # 打开表格文件
rdWs = rdWb.sheet_by_index(0)
sheetRows = rdWs.nrows # 表格行数
sheetCols = rdWs.ncols # 表格列数
# 取出表格中的第一列和第二列数据
for row in range(5sheetRows): # 学生信息从第5行开始的 其实也可以使用filter函数 滤除不是学号的信息
# 排除第一列非数字数据
stuName = rdWs.row_values(row)[2].replace(‘\xa0‘‘‘)
# 替换字符串中的 \xa0 标志符,这是转码时出现的问题,然后删除字符串中的 空格字符
stuNumber = rdWs.row_values(row)[1].replace(‘\xa0‘‘‘).strip(‘ ‘)
if stuName==‘‘or stuNumber==‘‘:
pass
else:retdir[stuNumber] = stuName
# print(len(retdir))
ret
- 上一篇:python实现微信聊天机器人
- 下一篇:Yolov3所需数据预处理python文件
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论