TCL脚本语言-14-输入输出系统


3 个目录 4,141,834,240 可用字节
% file rename aa.txt bb.txt t
#移动文件到目录 t 中
% dir t D:\tmp\t 的目录
2005-05-20 07:27 2005-05-20 07:27
2 个文件 2 个目录 % dir . D:\tmp 的目录
442 aa.txt 442 bb.txt
TCL、Python 和软件测试自动化
167
输入输出系统
输入和输出相比大家都不陌生。说起它,我就想起来大学第一次写 Pascal 程序的时候, 总要写出这样的代码:
Program Test(input,output); Begin
Write(‘Hello,World!’); End. 老实说,第一行的 input 和 output 两个参数让我迷惑了很久,一直都不明白它们的用途。 后来才慢慢的知道它们叫做输入和输出。 输入和输出总是和文件系统紧密相连。现代操作系统中,所有的设备几乎都被抽象成文 件系统。但是不同操作系统下文件系统格式不同,例如 Unix 和 Windows、MAC 的目录等都 有一定的差异。好在 TCL 语言比较好的解决了这个问题。本章节我们会详细的介绍如何在 TCL 中操作文件系统以及读写文件。
file join name ?name..? 把 name 拼接起来组成一个完成的路径,目录分隔符号
因不同操作系统而异;
file nativename name
返回一个符合操作系统特点的路径名;
file normalize name
返回标准化的路径名字;
file rootname name
返回除了最后扩展名的文件名字
perf_test.tcl pkgIfNeeded.tcl test_func.tcl 返回一个列表,三个元素都是搜索到文件名,如果我们下发如下的命令:
glob –directory –types f *.tcl
作者:雷雨后
Email: leiyuhou010@
TCL、Python 和软件测试自动化
884 字节 4,141,834,240 可用字节
2005-05-22 21:53 <DIR>
t
0 个文件
0 字节
3 个目录 4,141,834,240 可用字节
搜索目录
有些时候我们需要在目录中寻找匹配一定模式的文件或者子目录,这可以使用 glob 命 令来完成。下面命令得到当前目录下所有的 tcl 脚本文件:
操作文件系统
TCL 中能够非常方便的操作文件、目录。包括:查询和设置文件属性、复制、删除以及 路径名字的操作等。所有这些都是通过一个 file 命令来完成,其语法都非常简单,所以我们 这里只是按照分类,列举出该命令的各种用法:
文件属性操作
命令 file atime name ?time?
file mtime name ?time?
file stat name varname
查询得到文件 name 的相关属性,并且存放到数组
varname 中。
file system name
返回文件 name 所在文件系统的类型;
file type name
返回 name 所表示的文件类型;
上面的命令都是用来查询设置文件或者目录的属性的。不知大家有没有使用 C Runtime
glob –directory . –types f –tails -- *.tcl 其中选项 –directory .表示在当前目录下搜索;-types f 表示搜索文件,如果是-types d 表示搜索目录名;-tails 表示只返回文件名,不要目录名。*.tcl 则是匹配模板,用来匹配文 件名。 例如上面命令的执行结果是:
Library 编程的经历,在 C 语言的库函数中操作文件的函数基本上在这里都能够找到。下面
是几个例子:
% set fp {d:\tmp\aa.txt} % file exist $fp % file readable $fp % file writable $fp % file isdirectory $fp % file isfile $fp % file size $fp % file stat $fp v ; parray v
->d:\tmp\aa.txt ->1 ->1 ->1 ->0 ->1 ->442
->native NTFS #这是一个 NTFS 系统
下面我们再来看看 file attributes 命令:
% file attributes $fp
作者:雷雨后
Email: leiy了-tails 选项,那么结果中就会多出目录名,如下:
./perf_test.tcl ./pkgIfNeeded.tcl ./test_func.tcl
-types 选项的参数是一个列表,表示只搜索指定的类型。可以为:
file delete ?-force? ?--? pathname ?pathname ... ? 上面的命令用来删除一个或者多个文件、或者目录;通过指定-force 选项,可以强制删 除非空目录。对于只读文件,即使没有-force,该命令也能 delete 掉它。
file make dir ?dir…? 用来在文件系统中创建目录结构。例如:
Email: leiyuhou010@
TCL、Python 和软件测试自动化
171
% dir . D:\tmp 的目录
2005-05-20 07:27
442 aa.txt
2005-05-20 07:27
442 bb.txt
2005-05-22 21:52 <DIR>
t
2 个文件
884 字节
% file nativename c:/windows/cmd.exe ->c:\windows\cmd.exe
作者:雷雨后
Email: leiyuhou010@
TCL、Python 和软件测试自动化
170
% file normalize c:/windows/system32/.././cmd.exe
-archive = 1 -hidden = 0 -longname = D:/tmp/aa.txt -readonly = 0 -shortname = D:/tmp/aa.txt -system = 0 % file attributes $fp –shortname #查询短文件名 D:/tmp/aa.txt % file attributes $fp –readonly 1 #让文件具有只读
路径操作
有些时候分析表示文件路径名的字符串,是很有必要的工作。C 语言中也包含了这样的
库函数,TCL 中也有对应的实现:
命令格式
用法描述
file dirname name
返回 name 文件的所在目录名字。这只是一个字符串的
处理,不管文件 name 是否存在!
file extension name
返回文件的扩展名;
操作文件目录
复制文件的操作采用 file copy 来完成,格式如下: file copy ?-force? ?--? source target file copy ?-force? ?--? source ?source ……? targetDir 第一个用来赋值单个文件到另外一个文件;第二个则是赋值 n 个文件(n>=1)到另外一 个目录。
file attributes name file attributes name ?opt? file attributes name ?opt vla? ?opt val?... file executable name
用法描述 返回文件 name 最后被读取的时间;该命令在 FAT 文 件系统上无效(返回数据可能不正确); 设置或者修改文件 name 的最后被修改时间。time 参 数表示 1970/1/1 到现在的秒。设置最后修改时间,和 那个著名的 touch 命令完成类似的功能; 查询或者设置文件的属性。第一个命令查询所有的属 性;第二个命令查询指定的属性;第三个设置属性的 值。
C:/WINDOWS/cmd.exe
% file rootname c:/windows/cmd.exe
->c:/windows/cmd
% file tail c:/windows/cmd.exe
->cmd.exe
这里面需要解释的是 file nativaname 命令。在 TCL 的目录结构中,采用字符“/”作为 目录结构的分隔字符,这和 Unix 操作系统是一致的;但是 Windows 中则是采用“\”作为分 隔。有些时候我们需要将 TCL 中的目录转换到操作系统特定的格式,那么 file nativename 则能完成这个功能。
file split name
和 file join 恰好相反,将路径 name 拆分层各个独立的
目录单元;
file tail name
返回路径 name 中剔除目录名后的最后文件名
请看下面的例子:
% file dirname {d:\tmp\a.txt}
->d:/tmp
% file extension {d:\tmp\a.txt}
TCL、Python 和软件测试自动化
169
-archive 1 -hidden 0 -longname D:/tmp/aa.txt -readonly 0 -shortname D:/tmp/aa.txt -system 0 % foreach {opt val} [file attributes $fp] {puts " $opt = $val"}
合集下载

tcl脚本语言介绍

tcl脚本语言介绍
实现执行 set b "hello" 并用其结果来替换源命令
中的方括号部分,产生一条新命令
set a "hello" //"hello" 为 set b "hello" 的返
//回值
最终的结果是b="hello" a="hello"
当命令的一个子域以方括号开始以方括号结束,表示要进行一个命令子替换。并执行该子命令,用其结果来替换原命令中的方括号部分。方括号中的部分都被视为Tcl命令。
Variables: scalars and arrays 变量:标量和向量(即数组)
向量就是数组,而标量是没有下表的变量。
我们用C来类比:
int i; // i 是标量
int j[10]; // j 是向量
变量不需要定义,使用的时候会自动的被创建。Tcl支持两种
变量:标量和向量
举个例子来说明吧,
Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以释运行,其强大的功能和简单精妙的语法会使你感到由衷的喜悦,这片文章对 Tcl有很好的描述和说明。如果你看起来很吃力,那是因为 Tcl与一般的语言有一些不同之处,刚开始可能有一些不理解,但很快就会掌握的。请坚持一下,我能坚持写完,你至少也应该坚持读一遍吧!
这里有一个初学者不注意的地方,上述的定义一定要写成那样子。而不能向下面那样写:
proc pf {str}
{
puts $str
}
因为proc实际上也只不过是一条命令,是一换行符或分号来结束的,用集群参数来传递函数体。proc的定义如下:
proc name args tclcommand

tcl语言 输出关系运算结果

tcl语言 输出关系运算结果

tcl语言输出关系运算结果Tcl是一种脚本语言,广泛用于自动化测试、网络编程和图形用户界面设计等领域。

它以简洁、灵活和易读的语法而受到开发者的欢迎。

其中,关系运算是Tcl中的重要概念之一,通过使用关系运算,我们可以判断变量或表达式之间的关系,从而进行一系列的逻辑判断和操作。

在Tcl中,关系运算符通常用于比较两个对象的大小、相等性和关系等。

关系运算符包括等于(`==`)、不等于(`!=`)、大于(`>`)、小于(`<`)、大于等于(`>=`)和小于等于(`<=`)等。

接下来,我们将一步一步地解释关系运算和输出结果。

1. 等于(`==`)运算符:当两个对象相等时,等于运算符返回真(True),否则返回假(False)。

在Tcl中,数值、字符串和布尔值都可以使用等于运算符进行比较。

tclset a 10set b 10if {a == b} {puts "a等于b"} else {puts "a不等于b"}输出结果:a等于b2. 不等于(`!=`)运算符:当两个对象不相等时,不等于运算符返回真(True),否则返回假(False)。

在Tcl中,同样可以对数值、字符串和布尔值使用不等于运算符进行比较。

tclset a "hello"set b "world"if {a != b} {puts "a不等于b"} else {puts "a等于b"}输出结果:a不等于b3. 大于(`>`)运算符:当第一个对象大于第二个对象时,大于运算符返回真(True),否则返回假(False)。

在Tcl中,只能对数值类型进行大于运算。

tclset a 5set b 2if {a > b} {puts "a大于b"} else {puts "a不大于b"}输出结果:a大于b4. 小于(`<`)运算符:当第一个对象小于第二个对象时,小于运算符返回真(True),否则返回假(False)。

TCL脚本入门教程

TCL脚本入门教程

TCL脚本入门教程```puts "Hello, TCL!" ;# 输出 Hello, TCL!set name "John" ;# 定义一个变量 nameputs "My name is $name." ;# 输出 My name is John.```在这个例子中,第一行的`puts`命令用于输出文本到控制台,第二行的`set`命令用于定义一个变量,第三行的`puts`命令输出带有变量的文本。

在TCL中,变量需要以`$`开头。

- `set`:用于定义和修改变量的值。

- `if`:用于条件判断,根据条件执行不同的代码块。

- `for`:用于循环执行代码块一定的次数。

- `while`:用于在条件满足的情况下循环执行代码块。

- `proc`:用于定义和调用过程(函数)。

- `expr`:用于进行数学运算和表达式求值。

```set age 25set height 1.75set name "Tom"puts "My age is $age."puts "My height is $height meters."puts "My name is [string toupper $name]."```这个例子中,`set`命令用于定义三个变量,`puts`命令用于输出带有变量的文本。

`string toupper`是TCL中的字符串处理命令,用于将字符串转换为大写。

```set file [open "example.txt" r]set content [read $file]close $fileputs $content```这个例子中,`open`命令用于打开一个文件,`read`命令用于读取文件内容,`close`命令用于关闭文件。

第八章-输入输出系统(共64张PPT)全文编辑修改

第八章-输入输出系统(共64张PPT)全文编辑修改

3、中断类型:
– 按中断产生的位置: • 外部中断:CPU以外的部件引起的中断。 外中断又可分为不可屏蔽中断和可屏蔽中断 两种。不可屏蔽中断优先级较高,常用于 应急处理,如掉电、内存读写校验错等。 可屏蔽中断级别较低,常用于一般I/O设 备的数据传送。
• 内部中断:由CPU内部硬件或软件引起的中 断,如单步中断、溢出中断。
路之前,还要受到屏蔽触发器的控制。
当MASK=1,表示对应中断源的请求被屏蔽。 当MASK=0,才允许对应中断源的请求参与排队判优
中断屏蔽寄存器的作用
INT
≥1
由程序 控制
中断屏蔽 0 1 0 1 0 1 0 1 寄存器 &
向 量 地 址
……
编 码 器
排 队 逻 辑
&
&
& 0 1 0 1 0 1 0 1 中断请求 寄存器
程序查询方式——程序流程图
设置计数值
修改计数器
设置内存缓冲区首址
比如指令系统中的软中断指令INT n。 中断处理次序和中断响应次序是两个不同的概念:
否
中断事件在提出中断请求的同时,通过硬件向主机提供中断服务程序的入口地址,即向量地址。 传送完?
CPU等候输入设备的数据成为有效
(2)数据通道中断源,也称直接启存动储外器设存放(DMA)操作。
3级
4级
则 只 需 使 中 断 屏 蔽 码 改 (1)一般的输入、输出外围设备。
一般是故障引起的中断最优先;
为: 第1级 1 1 1 1 (4)DMA传送速度快,CPU和外设并行工作,提高了系统的效率;
先由主机通过启动指令启动外设工作,启动后主机用测试指令不断查询外设工作状态,当输入设备处于准备好状态或输出设备处于空闲状态时,

5第五章输入输出系统(lxl)

5第五章输入输出系统(lxl)

解例5.1
(1)CPU每秒对鼠标30次查询,所需要的时钟周期数为: 100×30=3000 根据CPU的时钟频率为50MHz,所以鼠标的查询占用CPU的 时间比率为: 3000/(50×106) ×100%=0.006% 结论:对鼠标的查询基本不影响CPU的性能。 (2)对于硬盘,每32位被CPU查询一次,所以每秒查询 2MB/4B=512K次 则每秒查询的时钟周期数为 100×512×1024=52.4×106 所以对磁盘的查询占用CPU的时间比率为 (52.4×106)/(50×106) ×100%=105% 结论:即使CPU将全部时间都用于对硬盘的查询也不能满足 磁盘传输的要求,因此CPU一般不采用程序查询方式与磁盘交 换信息。
串行接口:数据逐位分时传送。
Intel 8251 用于连接显示终端等慢速设备 注意:接口与外设串行传送,而接口与系统总线还是并行传送
系 统 并 总 线
接口
串 并
外 设
三、接口类型
2. 按功能 选择的灵活性 分类
可编程接口 Intel 8255、 Intel 8251 Intel 8212 不可编程接口
DBR
准备就绪 ⑤
Q
② B
Q
D
1 0 ④
设备工作 结束
地址线
设备选择电路
程序查询方式的特点
•简单、易控制(完全靠软件控制)、 外围接口控制逻辑少; •CPU与外设串行工作,效率低、速度慢, 适合于慢速设备
优点
缺点
工作方式:完全串行工作方式
例题

例5.1 在程序查询方式的输入输出系统中, 假设不考虑处理时间,每一次查询操作需要 100个时钟周期,CPU的时钟频率为50MHz。 现有鼠标和硬盘两个设备,而且CPU必须 每秒对鼠标进行30次查询,硬盘以32位字长 为单位传输数据,即每32位被CPU查询一 次,传输率为2MBps。 求CPU对这两个设备查询所花费的时 间比率,由此可得出什么结论?

TCL教程(中文)(2024)

TCL教程(中文)(2024)

B
C
D
脚本执行过程
详细剖析TCL脚本的执行过程,包括命令 解析、变量替换、执行结果输出等步骤。
控制结构
介绍TCL中的条件判断(if-else)、循环 (foreach、while)等控制结构,以及如 何使用它们来编写逻辑清晰的脚本。
2024/1/29
20
复杂脚本优化技巧分享
代码重用与模块化
讲解如何将重复的代码片段抽象成函数或过 程,实现代码重用和模块化,提高脚本的可 维护性和可读性。
比较运算符
TCL支持比较运算符,如等于(`==`)、不等于(`!=`)、大于 (`>`)、小于(`<`)等。比较运算的结果为布尔值,即真或假 。
逻辑运算符
TCL支持逻辑运算符,如逻辑与(`&&`)、逻辑或(`||`)、逻 辑非(`!`)等。逻辑运算用于组合多个条件,并根据条件的 真假返回相应的结果。
TCL教程(中文)
2024/1/29
1
目录
2024/1/29
• TCL基础知识 • TCL基本语法 • TCL高级特性 • TCL扩展功能 • TCL实例分析 • TCL学习资源推荐
2
TCL基础知识
01
2024/1/29
3
TCL概述
TCL是一种脚本语言
TCL代表“工具命令语言”,是一 种广泛用于嵌入式系统和应用程 序的脚本语言。
I/O流处理
TCL支持I/O流的概念,可以通过管道命令实现不同命令之间的数据传 递和处理。
2024/1/29
14
TCL扩展功能
04
2024/1/29
15
Tk图形界面开发库介绍
Tk概述
Tk是TCL的图形用户界面工具包, 提供了一套丰富的图形控件和布局 管理器,用于创建跨平台的GUI应 用程序。

TCL姙言

今天,在无意间看到了“TCL语言”,以前没有听过,也没有看过,上网搜了一下,对它简单的了解学习了一下。

需要详细了解请打开下面网址了解,学习。

/TCL(Tool Command Language)是一种解释执行的脚本语言(scrīpting Language)。

它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。

由于TCL的解释器是用一个C\\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作一个C库,这个库中有丰富的用于扩展TCL命令的C\\C++过程和函数,可以很容易就在C\\C++应用程序中嵌入TCL,而且每个应用程序都可以根据自己的需要对TCL语言进行扩展。

我们可以针对某一特定应用领域对TCL语言的核心命令集进行扩展,加入适合于自己的应用领域的扩展命令,如果需要,甚至可以加入新的控制结构,TCL解释器将把扩展命令和扩展控制结构与固有命令和固有控制结构同等看待。

扩展后的TCL 语言将可以继承TCL 核心部分的所有功能,包括核心命令、控制结构、数据类型、对过程的支持等。

根据需要,我们甚至可以屏蔽掉TCL的某些固有命令和固有控制结构。

通过对TCL的扩展、继承或屏蔽,用户用不着象平时定义一种计算机语言那样对词法、语法、语义、语用等各方面加以定义,就可以方便的为自己的应用领域提供一种功能完备的脚本语言。

TCL良好的可扩展性使得它能很好地适应产品测试的需要,测试任务常常会由于设计和需求的改变而迅速改变,往往让测试人员疲于应付。

利用TCL的可扩展性,测试人员就可以迅速继承多种新技术,并针对产品新特点迅速推出扩展TCL命令集,以用于产品的测试中,可以较容易跟上设计需求的变化。

另外,因为TCL是一种比C\\C++ 语言有着更高抽象层次的语言,使用TCL可以在一种更高的层次上编写程序,它屏蔽掉了编写C\\C++程序时必须涉及到的一些较为烦琐的细节,可以大大地提高开发测试例的速度。

《输入输出系统》课件


4 HDMI接口
HDMI接口是高清多媒体接口,用于连接显示 器、电视和其他多媒体设备。
输入输出流
1
标准输入输出流
标准输入输出流是计算机与外部世界进行基本信息交流的通道。它包括键盘输入 和屏幕输出。
2
文件输入输出流
文件输入输出流用于将数据存储到文件中或从文件中读取数据,常用于数据持久 化和数据共享。
数码相机
数码相机用于拍摄照片和录制视频,将现实世 界的图像转化为数字数据,方便存储和处理。
输出设备
显示器
显示器是最常见的输 出设备,用于显示计 算机处理后的图像、 文字和视频。
打印机
打印机将计算机中的 文档转化为纸质输出, 方便用户在无互联网 环境下查阅和分享信 息。
投影仪
投影仪可将计算机中 的图像或视频投射到 大屏幕上,方便大型 演示、教学和娱乐活 动。
喇叭
喇叭用于播放计算机 中的音频内容,为用 户提供更好的听觉体 验。
输入输出接口
1 并口接口
并口接口是传输并行数据的接口,常用于连 接打印机、扫描仪等设备。
2 串口接口
串口接口是传输串行数据的接口,常用于连 接鼠标、键盘等设备,也可连接外部设备。
3 USB接口
USB接口是通用串行总线接口,可连接各种 设备,如存储设备、音频设备和外围设备。
发展趋势
随着科技的不断进步,输入输出 系统将更加智能、便捷和高效, 给人们的生活带来更多的便利和 乐趣。
总结
通过本《输入输出系统》PPT课件,您了解了计算机的输入输出系统的定义、组成部分、各个设备和接口的分 类和作用,以及输入输出流和应用。 期望这些知识能帮助您更好地理解计算机系统,并在实际应用中发挥更大的作用。
输入输出系统由输入设备和输出设备构成,它们共同协作,使计算机能够与 人类进行信息交流,完成各种任务。

输入输出系统设备

输入输出系统设备输入输出系统设备(Input/Output System Devices,简称I/O设备)是计算机系统中起到输入和输出数据的作用的硬件组件。

这些设备使得用户可以与计算机进行交互,并将数据从计算机系统中传输到外部设备,或将数据从外部设备输入到计算机系统中。

本文将介绍一些常见的输入输出系统设备。

键盘键盘是最常见的输入设备之一。

它包含一系列按键,用于输入字符和命令。

键盘通过与计算机主机进行连接,将按键所产生的电信号传输到计算机系统中。

计算机系统会将这些电信号转换为对应的字符或命令,并将其发送到应用程序中进行处理。

键盘通常具有标准键盘布局,包括字母键、数字键、功能键等。

鼠标鼠标是另一个常见的输入设备,它通过控制光标的移动来实现与用户的交互。

鼠标通常包含左键、右键和滚轮,可以通过点击和拖动来选择和操作屏幕上的对象。

鼠标通过与计算机主机进行连接,将鼠标的移动和点击动作转换为计算机能够理解的指令。

计算机系统根据这些指令的输入来完成相关操作。

显示器显示器是输出设备,用于将计算机系统中的图像和文字显示给用户。

显示器通常采用液晶显示技术,可以显示高分辨率的图像。

用户可以通过显示器来观看视频、浏览网页、编辑文档等。

显示器通过与计算机主机进行连接,接收计算机系统发送的图像和文字数据,并将其显示在屏幕上。

打印机打印机是一种输出设备,用于将计算机系统中的图像和文字打印到纸张上。

打印机通常通过与计算机主机进行连接,接收计算机系统发送的打印指令,并将其转换为实际的打印输出。

打印机可以打印单页文档,也可以打印多页文档。

打印机的类型包括喷墨打印机、激光打印机等。

扫描仪扫描仪是一种输入设备,用于将纸质文档转换为数字化的图像。

扫描仪通过与计算机主机进行连接,接收计算机系统发送的扫描指令,并将扫描得到的图像数据传输到计算机系统中。

扫描仪可以扫描纸质文档、照片等,并将其转换为计算机系统可以识别和处理的数字化数据。

音频输入输出设备音频输入输出设备用于处理和控制计算机系统中的声音。

TCL语言

TCL语言
TCL(Tool Command Language)是一种通用的脚本语言,最初设计用于自动
化软件测试。

它具有简单易学的语法结构和强大的扩展能力,可以在多个操作系统上运行。

TCL语言主要用于编写脚本来控制和配置软件应用程序。

TCL的特点
TCL语言具有以下特点:
•易学易用:TCL语法简单清晰,入门门槛低,适合初学者快速上手。

•跨平台:TCL脚本可以在多个操作系统上运行,包括Windows、Linux、Unix等。

•模块化:TCL支持模块化开发,可以将功能分割成多个模块,提高代码可复用性。

•动态类型:TCL是一种动态类型语言,变量的类型在运行时确定,灵活性较高。

•强大的扩展能力:通过TCL的扩展包,可以方便地扩展功能,适应多样化的需求。

TCL的应用领域
TCL语言在以下领域有着广泛的应用:
•自动化测试:TCL最初设计用于自动化软件测试,可以通过编写TCL 脚本来进行自动化测试。

•网站开发:TCL可以用于构建Web应用程序,通过TCL的Web扩展包可以实现服务器端的动态网页生成。

•网络编程:TCL提供了丰富的网络编程库,可以用于开发网络应用程序。

•嵌入式开发:TCL语言可以作为嵌入式系统的脚本语言,用于控制和配置嵌入式设备。

•图形界面开发:TCL/TK是一个常用的图形用户界面开发工具包,可以用来创建GUI应用程序。

TCL语言示例
下面是一个简单的TCL脚本示例,展示了如何输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档