python分析作業提交情況

2021-07-26 04:58:38 字數 3955 閱讀 8901

這次做乙個比較貼近我實際的東西:

要求:將伺服器中交作業的學生(根據檔案的名字進行提取)和統計成績的**中的學生的資訊進行比對,輸出所有沒有交作業的同學的資訊(學號和姓名),並輸出所交的作業中命名格式有問題的檔名的資訊(如1627406012_e03....)。

1、根據伺服器檔案可以拿到所有交了作業的同學的資訊。

2、根據**可以拿到所有上課學生的資訊

3、對1和2

中的資訊進行比對,找出想要得到的資訊

下面直接上程式(python3的版本):

#coding:utf-8

import os

import xlrd

"""此函式用於獲取dir資料夾中的檔案的內容,dir中不能含有中文名

"""def getfilesinfo(dir):

filenum=dir[len(dir)-2:len(dir)] # 取得題目的編號

truelist=

errorlist=

t=os.walk(dir)

for item in t:

for name in item[2]:

if len(name)!=18:

else:

if name[13:15]==filenum:

else:

return [truelist,errorlist]

# 此函式用於讀取xml**檔案中的內容

def readtablecontent(filename):

date=xlrd.open_workbook(filename)

# sheet_name = date.sheet_names()[0]

stulist= # 存放學號和姓名

try: # 獲取你要處理的xls的第一張表

sh = date.sheet_by_index(0)

except:

print("出現問題")

for i in range(2,sh.nrows):

id=sh.row_values(i)[1]

name=sh.row_values(i)[2]

student=(id,name); # 存放學生的學號和姓名的元組

return stulist

address="d://我的檔案/python作業批改/2016級老薑班級作業成績 2016-10-25.xls"

submitstulist=getfilesinfo("d:\e01")

stulist=readtablecontent(address) # 存放學生的資訊的列表

notsubmitstudent= # 存放沒有提交作業的學生的資訊

for student in stulist:

if student[0] not in submitstulist [0]:

print("******************************====沒有交作業的人為******************************==")

for student in notsubmitstudent:

print(student[0],student[1])

print("******************************====格式錯誤的檔案為******************************===")

for error in submitstulist[1]:

print(error)

1、首先進行如下操作:

3、在輸入框中輸入包名並搜尋

4、完成安裝:

關於程式中使用到的os和xlrd的相關知識可以自行查閱相關的文件,這裡不再進行詳細說明。

下面是py2.7版本的程式:

#coding:utf-8

import os

import xlrd

import xlwt

"""此函式用於獲取dir資料夾中的檔案的內容,dir中不能含有中文名

"""def getfilesinfo(dir):

filenum=dir[len(dir)-2:len(dir)] # 取得題目的編號

truelist=

errorlist=

t=os.walk(dir)

for item in t:

for name in item[2]:

if len(name)!=18:

else:

if name[13:15]==filenum:

else:

return [truelist,errorlist]

# 此函式用於讀取xml**檔案中的內容

def readtablecontent(filename):

date=xlrd.open_workbook(filename)

# sheet_name = date.sheet_names()[0]

stulist= # 存放學號和姓名

try: # 獲取你要處理的xls的第一張表

sh = date.sheet_by_index(0)

except:

print "出現問題"

for i in range(2,sh.nrows):

id=sh.row_values(i)[1].encode('utf-8')

name=sh.row_values(i)[2]

student=(id,name); # 存放學生的學號和姓名的元組

return stulist

address=unicode("d://我的檔案/python作業批改/2016級老薑班級作業成績 2016-10-25.xls",'utf-8') # 對於中文名的路徑要進行轉換

submitstulist=getfilesinfo("d:\e01")

stulist=readtablecontent(address) # 存放學生的資訊的列表

notsubmitstudent= # 存放沒有提交作業的學生的資訊

for student in stulist:

if student[0] not in submitstulist [0]:

print "******************************====沒有交作業的人為******************************=="

for student in notsubmitstudent:

print student[0],student[1]

print "******************************====格式錯誤的檔案為******************************==="

for error in submitstulist[1]:

print error

post 提交情況下獲取表單資訊

表單在post提交的情況下,獲取表單的資訊的幾種方式 通過 獲取key值的列舉 enumerationparameternames request.getparameternames while parameternames.hasmoreelements 通過獲取key值的 map hashtab...

python如何提交作業 提交作業

1.提交作業 1.1 簡單作業 如果您已經按照準備工作裡的步驟配置了預設映象 例項型別和網路型別,可以通過以下的簡單命令提交乙個作業。bcs sub echo 123 提交乙個單任務作業,執行 echo 123 如果您沒有對命令列工具進行過預設配置,需要在提交的時候指定更多的選項。bcs sub e...

spark作業提交失敗分析

提交乙個spark作業,報錯 error spark.sparkcontext error inilializing sparkcontext.再提交乙個yarn作業,hadoop jar opt cloudera parcels cdh 6.1 jars hadoop examples.jar p...