使用optparse模块根据不同的参数创建不同的csv文件
import os import csv import optparse from datetime import datetime class CourseScore(object): def __init__(self): #初始化 parser = optparse.OptionParser() parser.add_option("-t", "--课程类型", dest="type_", help="课程类型:c:语文,m:数学,e:英语") #解析参数 self.options, self.args = parser.parse_args() # print(self.options,self.args) def verification(self): # 必须输入type if not self.options.type_: exit("\033[31m抱歉,您必须输入\033[32m课程类型!\033[31m(输入\033[32m-h\033[31m查看帮助信息)") # 可以生成三门课程文件 type_dic = { "c":"语文课", "m":"数学课", "e":"英语课", } # 每门课程文件对应不同的数据,因此标题不一样 title_dic = { "c":"学号,姓名,选择题,填空题,判断题,古诗词赏析,阅读理解,作文\n", "m":"学号,姓名,选择题,填空题,判断题,解析几何,空间几何,附加题1,附加题2\n", "e":"学号,姓名,选择题,填空题,判断题,阅读理解,作文\n", } # 生成对应的csv文件 def create_csv(type_): now = datetime.now() # datetime.now()结果有一个空格,最好处理一下 now_str = "_".join(str(now).split(" ")) # 存放文件的目录,放在家目录的courseScore目录下 dir_path = "/Users/wanghongwei/courseScore" # 文件名 file_path = os.path.join(dir_path,f"{type_dic[type_]}_成绩表_{now_str}.csv") # 先判断下目录是否存在,不存在就创建 if not os.path.exists(dir_path): os.mkdir(dir_path) # 将不同课程的标题写在对应的文件中 with open(file_path,"w") as f: f.writelines(title_dic[type_]) if __name__ == '__main__': c = CourseScore() # 必须输入type c.verification() # 获取用户输入的参数type c_type = c.options.type_ # 创建相应的文件 create_csv(c_type) """ 然后在终端运行 python3 test.py -t m 就可以在指定为目录中创建数学课成绩的csv文件了
~~ 当然也可以输入 python3 test.py -h 来获取帮助信息 """
有具体数据的话往csv文件中写入数据参考这里,注意要用a+追加的方式写入: