资源简介
该程序实现了,对学生作业的相应文件的检索,然后找出文件名中的学生学号;最后,在学生名单中,勾选出没有交作业的学生,并将没交作业的学生信息打印出来,保存在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试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论