python开发一个自动批改本地Word作业的程序

点击打开文件按钮后,程序会自动打开word文档,然后可以选择下面四个等级进行打分,自动关闭文档,打开新的文档,就此循环!

python开发一个自动批改本地Word作业的程序_第1张图片

python开发一个自动批改本地Word作业的程序_第2张图片

import wx
import time
import threading
import os
import docx

class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None,
                         title="实验报告批改",
                         pos=(700,200),
                         size=(400,250),
                         style=wx.DEFAULT_FRAME_STYLE|wx.STAY_ON_TOP)
        panel=wx.Panel(self)
        btn=wx.Button(panel,label="打开文件")
        btna = wx.Button(panel, label="A等",id=1)
        btnb = wx.Button(panel, label="B等",id=2)
        btnc = wx.Button(panel, label="C等",id=3)
        btnd = wx.Button(panel, label="D等",id=4)
        # 事件绑定
        self.Bind(wx.EVT_BUTTON,self.openfile,btn)
        self.Bind(wx.EVT_BUTTON,self.grade,id=1,id2=4)
        #布局
        vbox=wx.BoxSizer(wx.VERTICAL)
        hbox1=wx.BoxSizer()
        hbox2=wx.BoxSizer()
        hbox1.Add(btn,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        hbox2.Add(btna,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        hbox2.Add(btnb,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        hbox2.Add(btnc,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        hbox2.Add(btnd,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        vbox.Add(hbox1,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        vbox.Add(hbox2,1,flag=wx.ALIGN_CENTER|wx.FIXED_MINSIZE)
        panel.SetSizer(vbox)


    def openfile(self,event):
        # 开一个线程
        t=threading.Thread(target=self.thread_openfile)
        t.start()

    def thread_openfile(self):# 线程体
        os.chdir("test")# 切换目录
        for i in range(5):
            self.filename="mytask"+str(i)+".docx"
            os.system(self.filename)# 打开文件
            time.sleep(1)
    # 打分
    def grade(self,event):
        bid=event.GetId()
        doc=docx.Document(self.filename)
        if bid==1:
            doc.add_paragraph("A等")
            doc.save("【已阅】A-"+self.filename)
        if bid==2:
            doc.add_paragraph("B等")
            doc.save("【已阅】B-"+self.filename)
        if bid==3:
            doc.add_paragraph("C等")
            doc.save("【已阅】C-"+self.filename)
        if bid==4:
            doc.add_paragraph("D等")
            doc.save("【已阅】D-"+self.filename)
        #os.system("taskkill/IM WINDORD.EXE") #关闭word文档
        os.system("taskkill/IM WPS.EXE") #这个可以根据自己需要修改


class App(wx.App):
    def OnInit(self):
        frame=MyFrame()
        frame.Show()
        return True


if __name__=="__main__":
    app=App()
    app.MainLoop()

对于攀登者来说,失掉往昔的足迹并不可惜,迷失了继续前时的方向却很危险。

欢迎关注【码农云库】~

你可能感兴趣的:(Python3,自动批改作业)