其他分享
首页 > 其他分享> > 班委考评怎么玩?

班委考评怎么玩?

作者:互联网

班委考评的烦恼

最近需要班委考评,每个人需要给班长团支书打分,还是用word表,还要保证匿名性,这可愁死我了,工作量巨大。其实今年还好,只要给两位班委打分,去年的话十来位班委吧,36张表,手算平均分,酸爽。

但是吧,但是吧,学IT的人应该不会妥协吧,毕竟都是电子表没有纸质表那么无奈,动动神器python那不是轻轻松松?

接下来分析一下各个功能实现的方法。

收匿名文件

讲道理网上有很多ftp服务器,比如Linux可以装一个vsftp,但是昨晚我试了一下,管理用户比较麻烦,不知道默认用户名和密码,可能是我没找对教程,反正一气之下就不玩了,玩屁。

那么就用php写一个接收文件的前后端吧,代码直接放上来:

<!DOCTYPE html PUBLIC>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>班委考评表上传点</title>
</head>
<body>
<h3>build by w4ke</h3>
<h1>上传文件</h1>
<form action="index.php" method="post" enctype="multipart/form-data">
请选择文件:<input type="file" name="file" /><input type="submit" value="上传" />
</form>
</body>
</html>

<?php
error_reporting(0);
$arr = $_FILES["file"];
if($_POST['file'])
{
$arr["tmp_name"];
$filename = getcwd()."\\upload\\".date('YmdHis').$arr["name"];
  if(file_exists($filename))
  {
    echo "该文件已存在";
  }
  else
  {
  move_uploaded_file($arr["tmp_name"],$filename);
  echo "上传成功!<br>";
  }
}
else
{
  echo "请上传文件,传一份即可";
}

就那么几行代码,全部放在index.php里面
在这里插入图片描述
在相同目录下建一个叫upload的文件夹就行了。

接下来就是怎么运行起这个php文件了,要把本机当做服务器使用,稍微复杂一点但是高效一点的话就是用phpstudy,把index.php放入WWW根目录下,开启apache就可以访问了。此方法不做演示。

效率低一点但是方便的话,可以直接在文件所在路径打开cmd:
在这里插入图片描述
然后运行php -S 0.0.0.0:80
这里的命令,0.0.0.0指的是任意ip均可访问自己的电脑,80指的是访问80端口。
在这里插入图片描述
然后就可以在浏览器访问127.0.0.1
在这里插入图片描述

内网穿透

网站可以访问了,但是要在同一个内网下访问。但是毕竟不是线下开会用同一个路由器,所以别的同学访问不到,用内网穿透可以解决这个问题。

付费的穿透的话,花生壳比较好用(我没用过,但是听说还行)。

作为一个老白嫖怪,付费是不可能付费的,推荐一款工具叫utools,里面有个插件就叫内网穿透在这里插入图片描述在这里插入图片描述
点击连接以后,就可以帮你成功穿透了。访问一下链接:
在这里插入图片描述完美

计算平均分

表格收到了,不会有人一个个打到excel里面去算吧,不会吧。
代码放这了

from docx import Document
import os

l = os.listdir()
l1 = [[],[],[],[]]
for name in l:
    print(name)
    if "docx" in name:
        document = Document(name)  #打开文件
        tables = document.tables
        table = tables[0]
        l2 = table.cell
        for i in range(1,len(table.rows)):
            first = table.cell(i,0).text
            second = table.cell(i,1).text
            third = table.cell(i,2).text
            l1[i].append(third)
            print(second)
print("----------------------------")
print(l1)

for i in range(2,9):
    sum = 0
    try:
        for j in l1[i]:
            sum += int(j)
        print(sum/len(l1[i]))
    except:
        pass

去年写的代码,我也不知道去年的我为啥写的那么麻烦,但是能用就行,懒得改了,执行结果大概是这样的:
在这里插入图片描述
py文件跟其他的docx文件放一块,然后执行
python3 1.py
前提是需要使用pip install python-docx
分数算出来啦~
在这里插入图片描述
在这里插入图片描述

结束啦~

标签:怎么,文件,考评,班委,l1,print,table,php
来源: https://blog.csdn.net/satasun/article/details/117067995