版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8单元异常与文件任务8.1猜数游戏任务8.2主干课程词语图学习目标知识目标技能目标素质目标
理解异常的概念,掌握捕获并处理异常的方法。
掌握raise语句和assert语句。
了解自定义异常的方法。
掌握文件夹的创建、删除等操作。
掌握与文件路径相关的操作。
了解文件打开操作模式及其含义。
掌握文件读取和写入的相关函数的使用方法。
能够在程序编写过程中捕获并处理异常。
能够根据需求在程序编写过程中使用raise语句或assert语句抛出并处理异常。
能够根据需要自定义异常,并配合raise语句抛出并处理异常。
能够创建、删除文件夹。
能够对文件路径进行获取、拆分和拼接等操作。
能够从文件中读取数据。
能够向文件中写入数据。
培养标准化的编码规范能力。
培养创新能力以及分析问题和解决问题的能力。
培养团队意识和沟通能力。教学内容任务8.1猜数游戏一、任务描述
使用海龟作图库turtle实现猜数游戏,在弹出的对话框中输入猜测的数字。如果输入数字太大则提示“遗憾,太大了!”如果输入数字太小则提示“遗憾,太小了!”;如果猜中则提示“预测{}次,你猜中了!”,需要给出猜测的次数;如果输入的不是整数则提示“输入内容必须为整数!”。运行效果如图所示。
二、相关知识1.错误与异常概述程序中也会遇到各种各样的问题,最常见的问题便是语法错误。语法错误:是指开发人员编写了不符合Python语法格式的代码所引起的错误。含有语法错误的程序运行后会抛出异常。a=int(input("请输入一个整数:"))if(a%5==0)print('此数字为5的倍数!')缺少冒号在PyCharm中运行上述代码后,结果输出区显示了如下错误信息:C:\install\Anaconda3\python.exeD:/workspace/chapter09/test.pyFile"D:/workspace/chapter09/test.py",line2if(a%5==0)^SyntaxError:invalidsyntax错误所在行号错误类型错误信息错误具体位置二、相关知识一段语法格式正确的Python代码在运行时产生的错误称为逻辑错误。a=[3,4,6,7,4,3]foriinrange(7):print(a[i],end='')C:\install\Anaconda3\python.exeD:/workspace/chapter09/test.py346743Traceback(mostrecentcalllast):File"D:/workspace/chapter09/test.py",line3,in<module>print(a[i],end='')IndexError:listindexoutofrange二、相关知识若异常不被处理,默认会导致程序崩溃而终止运行。程序运行期间检测到的错误称为异常。二、相关知识所有的异常类都继承自基类BaseException。BaseException类中包含4个子类,其中子类Exception是大多数常见异常类的父类。二、相关知识Exception中常见的子类及其描述如下表所示。二、相关知识异常类型含义AssertionError当assert关键字后的条件为假时,程序运行会停止并抛出AssertionErrorSyntaxError语法错误FileNotFoundError未找到指定文件或目录AttributeError访问的对象属性不存在IndexError索引超出序列范围KeyError字典中查找一个不存在的关键字NameError尝试访问一个未声明的变量TypeError不同类型数据之间的无效操作ZeroDivisionError除法运算中除数为0二、相关知识2.异常处理
可以使用try-except语句捕获异常。try-except还可以与else、finally组合使用以实现强大的异常处理功能。(1)try-except
捕获异常try:
可能产生异常的代码块except[(Error1,Error2,...)[ase]]:
处理异常的代码块1except[(Error3,Error4,...)[ase]]:
处理异常的代码块2except
[Exception]:
处理其他异常解释器优先执行try子句中的代码。若try子句未产生异常,则忽略except子句中的代码。若try子句产生异常,则忽略try子句的剩余代码,转而执行except子句中的代码。如果程序发生的异常经try捕获并由except块处理完成,程序可以继续运行try:a=int(input("输入被除数:"))b=int(input("输入除数:"))c=a/bprint("您输入的两个数相除的结果是:",c)except(ValueError,ArithmeticError):print("程序发生了数字格式异常、算术异常之一")except:print("未知异常")print("程序继续运行")输入被除数:a程序发生了数字格式异常、算术异常之一程序继续运行二、相关知识每种异常类型都提供了如下属性和方法args:返回异常的错误编号和描述字符串。str(e):返回异常信息,但不包括异常信息的类型。repr(e):返回较全的异常信息,包括异常信息的类型。try:1/0exceptExceptionase:#输出异常的错误编号和详细信息print(e.args)print(str(e))print(repr(e))('divisionbyzero',)divisionbyzeroZeroDivisionError('divisionbyzero',)二、相关知识else子句与try-except语句连用时,其中的代码会在try子句未出现异常时执行。try:
可能出错的语句......except:
出错后的执行语句else:
未出错时的执行语句二、相关知识(2)try-except-else捕获异常try:result=20/int(input('请输入除数:'))print(result)exceptValueError:print('必须输入整数')exceptArithmeticError:print('算术错误,除数不能为0')else:print('没有出现异常')print("继续运行")finally子句与try-except语句连用时,无论try-except是否捕获到异常,finally子句中的代码都要执行。try:
可能出错的语句......except:
出错后的执行语句finally:
无论是否出错都会执行的语句二、相关知识(3)try-except-finally捕获异常try:a=int(input("请输入
a
的值:"))print(20/a)except:print("发生异常!")else:print("运行else块中的代码")finally:print("运行finally块中的代码")二、相关知识3.抛出异常(1)raise语句:raise语句后可以添加具体的异常类,从而引发相应的异常。raise[exceptionName[(reason)]]raise:单独一个raise语句raise异常类名称:raise后带一个异常类名称raise异常类名称(描述信息):引发异常输出异常的描述信息raise语句引发的异常通常用try-except异常处理结构来捕获并进行处理。try:a=input("输入一个数:")#判断用户输入的是否为数字if(nota.isdigit()):raiseValueError("a必须是数字")exceptValueErrorase:print("引发异常:",repr(e))二、相关知识(2)assert语句:
assert断言语句用于判定一个表达式是否为真,如果表达式为True,不做任何操作,否则引发AssertionError异常。age=16
assertage>=18,'年龄必须大于18岁'表达式是assert语句的判定对象,参数通常是一个自定义异常或显示异常描述信息的字符串。二、相关知识assertexpression[,arguments]ifnotexpression:raiseAssertionError[(arguments)]Python允许程序开发人员自定义异常。自定义异常类的方法很简单,只需创建一个类,让它继承Exception类或其它异常类即可。classMyselfError(Exception):
pass#pass表示空语句,用于保证程序结构的完整性二、相关知识4.自定义异常try:
pass
raiseMyselfError("出错了!!!")exceptMyselfErrorase:
print(e)二、相关知识定义一个检测用户上传图片格式的异常类FileTypeError,在FileTypeError类的构造方法中调用其父类的__init__()方法并将异常信息作为参数。classFileTypeError(Exception):
def__init__(self,err='仅支持jpg/png/bmp格式'):
super().__init__(err)file_name=input("请输入上传图片的名称(包含格式):")try:
iffile_name.split(".")[1]in["jpg","png","bmp"]:
print("上传成功!")
else:
raiseFileTypeError()exceptExceptionaserror:
print(error)三、任务分析
要实现本任务,首先需要随机生成1~100的整数,然后弹出提示框提示用户输入猜测的数字。如果输入的为非整数,需要做异常处理。由于猜数游戏通常需要多次尝试才能猜中,所以需要用循环语句。数字猜中后需要输出预测次数,所以需要定义一个变量来记录猜测的次数。四、任务实现(1)在PyCharm中,选择“File”→“NewProject…”,在弹出的对话框中将项目命名为“chapter08”,单击“Create”按钮,创建新项目。(2)在PyCharm中,右击左侧列表中的项目名称“chapter08”,选择“New”→“PythonFile”,在弹出的对话框中将文件命名为“8-1猜数游戏.py”,按“Enter”键,进入代码编辑界面。importrandomimportturtleturtle.hideturtle() #隐藏海龟turtle.title("猜数游戏") #设置标题turtle.color('red') #设置画笔颜色ft=("宋体",30) #设置字体和字号N=0#定义猜数次数的变量Set_number=random.randint(0,100) #生成随机数(3)在新建文件中完成代码基础框架的搭建。导入库,除了导入海龟作图库turtle,还要导入可能用到的random库,用于生成随机数。设置窗体标题,隐藏海龟,设置画笔颜色,设置字体和字号,定义记录猜测次数的变量,随机生成一个0~100的整数。四、任务实现(4)在弹出的对话框中提示用户输入数据。turtle库中用于输入数据的函数有textinput()和numinput()。numinput()函数在接收到非数字时会直接提示,但提示信息不够友好,故在此使用textinput()函数结合int()转换函数,再配合异常处理进行提示。try:#try-except语句用于实现异常处理Guess_number=int(turtle.textinput("猜数游戏","请输入猜测的数:"))N=N+1except(NameError,ValueError):#捕捉NameError、ValueError两种异常turtle.write("输入内容必须为整数!",align='center',font=ft)Guess_number=int(turtle.textinput("猜数游戏","请重新输入猜测的数:"))N=N+1#猜测次数加1四、任务实现(5)比较输入的数字与随机生成的数字,若不相等则判断是大还是小,这里采用raise语句抛出异常并使用try-except语句进行异常处理,之后再次输入新的数字,进入下一轮循环判断。while(Guess_number!=Set_number):try:ifGuess_number>Set_number:raiseException("遗憾,太大了!")elifGuess_number<Set_number:raiseException("遗憾,太小了!")exceptExceptionaserror:turtle.clear()turtle.write(str(error),align='center',font=ft)try:Guess_number=int(turtle.textinput("猜数游戏","请输入猜测的数:"))N=N+1except(NameError,ValueError):turtle.clear()turtle.write("输入内容必须为整数!",align='center',font=ft)Guess_number=int(turtle.textinput("猜数游戏","请重新输入猜测的数:"))N=N+1四、任务实现(6)循环结束表示已经猜中数字,输出预测次数。turtle.clear()turtle.write("预测{}次,你猜中了!".format(N),align='center',font=ft)turtle.mainloop()任务8.2主干课程名称词云图一、任务描述
词云图在Python世界里实现起来很简单,一起来探究一下。某研究项目对120所高职院校的大数据技术专业的主干课程名称进行收集,存储在5个文本文件中(file1.txt、file2.txt、file3.txt、file4.txt、file5.txt)。请将这5个文本文件合并成一个文件,并对主干课程名称进行统计分析然后绘制词云图,效果如图所示。
二、相关知识1.文件概述Python对文件的操作有很多种,大致分为以下两类。创建、删除、修改、设置权限等操作:作用于文件本身,属于系统级操作。写入、读取等操作:文件常用操作,作用于文件的内容,属于应用级操作。
其中,对文件的系统级操作功能单一,比较容易实现,可以借助Python中的标准库(如os库、sys库等),并调用库中的指定函数来实现。二、相关知识2.sys库sys库提供的函数和变量,用于操控Python的运行时环境。变量/函数说明sys.argv获取命令行参数表,该列表中的第一个元素表示程序自身所在的路径sys.version获取Python解释器的版本信息sys.path获取库的搜索路径,该变量的初始值为环境变量PYTHONPATH的值sys.platform返回操作系统平台的名称sys.exit()退出当前程序,可为该函数传递参数,以设置返回值或退出信息,正常退出时返回值为0二、相关知识importsysprint('输出argv变量值:')print(sys.argv)print('输出version变量值:')print(sys.version)print('输出path变量值:')print(sys.path)print('输出platform变量值:')print(sys.platform)输出argv变量值:['D:/workspace/chapter08/test.py']输出version变量值:3.9.6(default,Apr132021,15:08:03)[MSCv.191664bit(AMD64)]输出path变量值:['D:\\workspace\\chapter08',……'C:\\install\\Anaconda3\\lib……']输出platform变量值:Win64exit()函数:退出当前程序。importsyssys.exit('程序退出!')print('继续运行此行代码')二、相关知识3.os库以及文件/目录操作os库用于处理文件和目录等操作,如新建文件夹、删除文件、重命名文件、获取文件修改时间等。函数说明os.remove()删除文件os.rename()重命名文件/文件夹os.walk()生成目录树下的所有文件名os.chdir()改变目录os.mkdir()/makedirs()创建目录/多层目录os.rmdir()/removedirs()删除目录/多层目录os.listdir()列出指定目录中的文件列表,获取文件夹下的文件os.getcwd()获取当前工作目录os.chmod()改变目录权限os.path.basename()去掉目录路径,返回文件名os.path.dirname()去掉文件名,返回目录路径os.path.join()将分离的各部分组合成一个路径名os.path.split()返回(dirname(),basename())元组os.path.splitext()返回(filename,extension)元组os.path.getatime()\ctime()\mtime()返回最近访问时间/创建时间/修改时间os.path.getsize()返回文件大小os.path.exists()判断路径是否存在os.path.isabs()是否为绝对路径os.path.isdir()是否为目录os.path.isfile()是否为文件二、相关知识(1)文件重命名:os.rename()函数用于文件或文件夹的重命名,待命名的文件或文件夹必须已存在,否则解释器会报错。importosos.rename("file.txt","new_file.txt")(2)目录操作:os.mkdir()函数用于创建目录,os.path.exists()用来判断目录是否存在。importospath=input("请输入要创建的目录:")ifos.path.exists(path):#判断目录是否存在print("\""+path+"\"已存在!")else:os.mkdir(path)#创建目录print("目录创建成功!")创建目录二、相关知识删除目录:内置库shutil中的rmtree()函数可以删除目录。importosimportshutilprint(os.path.exists("D:/test")) #第1次判断目录是否存在并输出结果shutil.rmtree("D:/test") #删除目录print(os.path.exists("D:/test")) #第2次判断目录是否存在并输出结果获取目录的文件列表:os库的listdir()函数用于获取文件夹下的文件或文件夹名称的列表。importospath=r'D:\workspace'print(os.listdir(path))二、相关知识(3)文件路径操作:os库提供用于检测路径是否为绝对路径的isabs()函数,以及将相对路径转换为绝对路径的abspath()函数。importospath=r'D:\workspace'print(os.path.isabs(path)) #判断path是否为绝对路径并输出结果print(os.path.isabs("main.py"))print(os.path.abspath("main.py")) #将相对路径转换成绝对路径并输出结果获取当前路径:os库中的getcwd()函数用于获取当前工作目录。importosprint(os.getcwd()) #输出当前路径print(os.listdir(os.getcwd())) #输出目录下的所有文件检测相对路径和绝对路径二、相关知识路径的拆分与拼接:os.path.split(path)将路径拆分为“(目录路径,文件名)”,返回的是元组os.path.join(path1,path2,...)将参数中的各path进行组合类型。importosprint(os.path.split('D:\\pythontest\\ostest\\Hello.py'))print(os.path.split('.'))print(os.path.split('D:\\pythontest\\ostest\\'))print(os.path.split('D:\\pythontest\\ostest'))print(os.path.join('D:\\pythontest','ostest'))print(os.path.join('D:\\pythontest\\ostest','hello.py'))print(os.path.join('D:\\pythontest\\b','D:\\pythontest\\a'))二、相关知识4.文件操作
文件的应用级操作可以分为3步,即打开文件,对文件做读写操作,关闭文件,这3个步骤的顺序不能打乱。一个文件,必须在打开之后才能对其进行操作,并且在操作结束之后将其关闭。file_name:表示待打开文件的文件名。buffering:对文件操作时是否使用缓冲区encoding:表示文件的编码格式。mode:表示文件的打开模式。(1)打开和关闭文件:open()函数用于打开文件,该函数调用成功会返回一个文件对象。close()函数关闭文件。二、相关知识file=open(file_name[,mode='r'[,buffering=-1[,encoding=None]]])常用的文件打开模式有r、w、a、b、+,这些模式的含义分别如下:文件打开模式含义r以只读的方式打开文件,默认值。w以只写的方式打开文件。a以追加的方式打开文件。b以二进制方式打开文件。+以更新的方式打开文件。二、相关知识文件打开模式可搭配使用,如下表所示为常用的搭配。二、相关知识open()函数会创建file对象,file对象拥有很多函数。二、相关知识序号常用函数名描述1file.close()关闭文件。关闭后文件不能再进行读写操作2file.flush()刷新文件内部缓冲区,直接把内部缓冲区的数据写入文件,而不是被动等待输出缓冲区写入3file.read([size])从文件读取指定的字节数,如果未指定或size值为负数则读取所有内容4file.readline([size])读取整行,包括“\n”字符5file.readlines([sizeint])读取所有行并以列表返回,若碰到结束符EOF,则返回空字符串6file.seek(offset[,whence])移动文件读取指针到指定位置7file.tell()返回文件当前读取指针位置8file.truncate([size])从文件的首行首字符开始截断,截断文件为size个字符。若省略size表示从当前位置截断;截断之后后面的所有字符被删除。Windows系统下的换行符为2个字符9file.write(str)将字符串str写入文件,返回的是写入的字符数10file.writelines(sequence)向文件写入一个字符串列表sequence,如果需要换行则要自己加入换行符close()方法用于关闭文件,该方法没有参数,直接调用即可。文件对象.close()二、相关知识file=open('test.txt','r') #以只读方式打开文件file.close() #关闭文件file.read([size])参数size表示设置的读取数据的字节数,若该参数缺省,则一次读取指定文件中的所有数据。read()方法可以从指定文件中读取指定数据二、相关知识(2)从文件中读取数据file=open('test.txt','r’)#以只读方式打开文件print('读取两个字节数据')print(file.read(2)) #读取两个字节数据并输出file.close()file1=open('test.txt','r’)#以只读方式打开文件print('读取全部数据:')print(file1.read()) #读取全部数据并输出file1.close()#关闭文件每执行一次readline()方法便会读取文件中的一行数据。readline()方法可以从指定文件中读取一行数据,其语法格式如下:二、相关知识file.readline([size])file=open('test.txt','r’)#以只读方式打开文件print('读取一行数据')print(file.readline()) #读取一行数据并输出print('读取一行数据的前10个字符')print(file.readline(10)) #读取一行数据的前10个字符并输出file.close()readlines()方法在读取数据后会返回一个列表,该列表中的每个元素对应着文件中的每一行数据。readlines()方法可以一次读取文件中的所有数据,其语法格式如下:二、相关知识file.readlines()file=open('test.txt','r',encoding='utf-8')#以只读方式打开文件print('读取文件中的数据')print(file.readlines()) #读取文件中的数据并输出file.close() #关闭文件read()(参数缺省时)和readlines()方法都可一次读取文件中的全部数据,但这两种操作都不够安全。因为计算机的内存是有限的,若文件较大,read()和readlines()的一次读取便会耗尽系统内存。为了保证读取安全,通常多次调用read()方法,每次读取size字节的数据。二、相关知识通过write()方法向文件中写入数据,其语法格式如下。参数str表示要写入的字符串。若字符串写入成功,write()方法返回本次写入文件的长度。二、相关知识(3)向文件中写入数据file.write(str)file=open('test.txt','a+',encoding='utf-8')#以追加方式打开文件print(file.write('Helloworld!'))writelines()方法用于向文件中写入字符串序列,其语法格式如下:二、相关知识file.wirtelines([sequence])file=open('test.txt','a+',encoding='utf-8')#以追加方式打开文件file.writelines(['\nHelloworld!','Python'])tell()方法用于获取当前文件读写的位置,其语法格式如下:二、相关知识(4)文件的定位读取file.tell()file=open('test.txt','r',encoding='utf-8')#以只读方式打开文件print(file.read(10))#读取文件中的前10个字符并输出print(file.tell())#获取文件当前的读写位置并输出seek()方法用于设置当前文件读写位置,其语法格式如下:offset:表示偏移量,即读写位置需要移动的字节数;from:用于指定文件的读写位置,该参数的取值有:0、1、2,其中0表示在开始位置读写;1表示在当前位置读写;2表示在末尾位置读写。二、相关知识file.seek(offset[,from])file=open('test.txt','r',encoding='utf-8')#以只读方式打开文件print('文件读取位置移动到开始位置偏移100个字节')file.seek(100,0) #从开始位置移动100个字节print('读取100个字节')print(file.read(100)) #读取100个字节并输出file.close()三、任务分析
wordcloud库是词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本。要使用该库,首先使用“pipinstallwordcloud”命令安装。
在使用wordcloud库时,要先导入wordcloud库,然后使用wordcloud.WordCloud()函数创建一个词云对象。可以指定词云对象的字体、图片大小以及背景色等。WordCloud()函数的参数列表如表所示。三、任务分析参数描述举例width指定词云对象生成图片的宽度,默认为400像素。w=wordcloud.WordCloud(width=600)height指定词云对象生成图片的高度,默认为200像素。w=wordcloud.WordCloud(height=400)min_font_size指定词云对象中的最小字号,默认为4号。w=wordcloud.WordCloud(min_font_size=10)max_font_size指定词云对象中的最大字号,根据高度自动调节。w=wordcloud.WordCloud(max_font_size=20)font_step指定词云对象中字号的步进间隔,默认为1。w=wordcloud.WordCloud(font_step=2)font_path指定文本文件的路径,默认为None。w=wordcloud.WordCloud(font_path="msyh.ttc")max_words指定词云对象显示的最大单词数量,默认为200。w=wordcloud.WordCloud(max_words=20)stop_words指定词云对象的排除词列表,即不显示的单词列表。w=wordcloud.WordCloud(stop_words="Python")mask指定词云对象形状,默认为长方形,需要使用imread()函数。fromscipy.mscimportimreadmk=imread("pic.png")w=wordcloud.WordCloud(mask=mk)background_color指定词云对象图片的背景颜色,默认为黑色。w=wordcloud.WordCloud(background_color="white")三、任务分析
通过WordCloud()函数创建的词云对象常用的函数如下。w.generate():向词云对象中加载文本,如w.generate("PythonandWordCloud")。w.to_file(filename):将词云对象输出为图像文件,可使用PNG或JPG格式,如w.to_file("outfile.png")
通过词云对象的函数生成词云图时需要加载文本,本任务中的文本分布在5个文件中,所以需要将5个文件进行合并,可以先创建一个新文件,然后将5个文件的内容复制到新文件中,涉及文件的读取和写入。四、任务实现(1)在PyCharm中,选择“View”→“ToolWindows”→“Terminal”命令,打开“Terminal”工具,输入“pipinstallwordcloud”命令,按“Enter”键后开始下载并安装wordcloud库。(2)在PyCharm中,右击左侧列表中的项目名称“chapter08”,选择“New”→“PythonFile”,在弹出的对话框中将文件命名为“8-2大数据技术专业主干课程词云图.py”,按“Enter”键,进入代码编辑界面。(3)在新建文件中导入库,除了海龟作图库turtle,还有wordcloud词云图库。importturtleimportwordcloud四、任务实现(4)将5个文件合并成一个文件,使用try-except语句处理文件操作时可能出现的异常,文件读取、写入操作结束后需要关闭文件对象。#合并文件errstr=‘’ #定义变量errstr用于存储文件合并过程中的错误信息try: #使用try-except-finally结构处理文件读取异常#以写模式创建或打开文件对象file,如果参数对应的文件不存在则创建文件,否则从头开始写入
file=open("maincources.txt",mode='w+',encoding='utf-8')
foriinrange(1,6):#循环读取5个文件的内容,并写入参数对应的文件
try:
filename='file'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年马鞍山含山县电子商务公共服务中心招聘考试备考试题及答案解析
- 2027届高三数学一轮复习课件:第五章 5.1 平面向量的概念、线性运算、基本定理及坐标表示
- 2026年及未来5年市场数据中国巡逻车行业市场全景监测及投资战略咨询报告
- 2026浙江杭州市萧山区大数据管理服务中心选用事业编制工作人员2人笔试备考试题及答案解析
- 2026年河南省郑州新密市事业单位联考招聘笔试备考题库及答案解析
- 婚前财产约定离婚协议书
- 2026年天台县事业单位公开选聘工作人员6人考试备考试题及答案解析
- 2026年及未来5年市场数据中国手编全棉毯行业发展潜力预测及投资策略研究报告
- 水泥熟料煅烧工安全教育模拟考核试卷含答案
- 2026浙江温州医科大学附属第一医院护理人员招聘88人考试参考题库及答案解析
- 2026年河南应用技术职业学院单招职业适应性测试题库附答案
- 公交站整体吊装施工方案
- 道路工程-公路土工试验课件
- 直臂式高空作业车施工方案
- 豆浆吃醋啦课件
- 水文站职工安全培训内容课件
- 五年级语文古诗文阅读理解试题库
- 气动工具安全培训课件
- 邮政数据安全管理办法
- 客户开发与客户维护课件
- 东莞辅警招录考试真题及答案
评论
0/150
提交评论