图书介绍

Python程序设计与算法基础教程pdf电子书版本下载

Python程序设计与算法基础教程
  • 江红,余青松主编 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302466833
  • 出版时间:2017
  • 标注页数:401页
  • 文件大小:48MB
  • 文件页数:421页
  • 主题词:软件工具-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

Python程序设计与算法基础教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章Python概述 1

1.1 Python语言概述 1

1.1.1 Python语言简介 1

1.1.2 Python语言的特点 1

1.1.3 Python语言的应用范围 2

1.2 Python语言版本和开发环境 2

1.2.1 Python语言的版本 2

1.2.2 Python语言的实现 2

1.2.3 Python语言的集成开发环境 3

1.3下载和安装Python 3

1.3.1下载Python 3

1.3.2安装Python 4

1.3.3安装和管理Python扩展包 4

1.4使用Python解释器解释执行Python程序 6

1.4.1运行Python解释器 6

1.4.2运行Python集成开发环境 7

1.5使用文本编辑器和命令行编写和执行Python源文件程序 8

1.5.1编写Hello World程序 9

1.5.2 Hello World程序(hello.py )源代码分析 10

1.5.3运行Python源代码程序 10

1.5.4命令行参数 11

1.6使用集成开发环境IDLE编写和执行Python源文件程序 12

1.6.1使用IDLE编写程序 12

1.6.2使用IDLE编辑程序 13

1.7在线帮助和相关资源 13

1.7.1 Python交互式帮助系统 13

1.7.2 Python文档 16

1.7.3 Python官网 17

1.7.4 Python扩展库索引(PyPI) 17

复习题 18

上机实践 19

第2章Python语言基础 20

2.1 Python程序概述 20

2.1.1引例 20

2.1.2 Python程序构成 20

2.2 Python对象和引用 21

2.2.1 Python对象概述 21

2.2.2使用字面量创建实例对象 21

2.2.3使用类对象创建实例对象 22

2.2.4数据类型 22

2.2.5变量和对象的引用 22

2.2.6 Python是动态类型语言 23

2.2.7 Python是强类型语言 24

2.2.8对象内存示意图 24

2.2.9对象的值比较(==)和引用判别(is) 25

2.2.10不可变对象(immutable)和可变对象(mutable) 25

2.3标识符及其命名规则 26

2.3.1标识符 26

2.3.2保留关键字 27

2.3.3 Python预定义标识符 27

2.3.4命名规则 27

2.4变量和赋值语句 28

2.4.1变量的声明和赋值 28

2.4.2链式赋值语句 28

2.4.3复合赋值语句 29

2.4.4删除变量 29

2.4.5系列解包赋值 29

2.4.6常量 30

2.5表达式和运算符 30

2.5.1表达式的组成 30

2.5.2表达式的书写规则 31

2.5.3运算符概述 31

2.5.4 Python运算符及其优先级 31

2.6语句 32

2.6.1 Python语句 32

2.6.2 Python语句的书写规则 33

2.6.3复合语句及其缩进书写规则 33

2.6.4注释语句 34

2.6.5空语句pass 34

2.7函数和模块 34

2.7.1函数的创建和调用 34

2.7.2内置函数 35

2.7.3模块函数 35

2.7.4函数API 36

2.8类和对象 36

2.8.1创建类对象 36

2.8.2实例对象的创建和调用 37

2.9模块和包 37

复习题 37

上机实践 39

第3章 程序流程控制 41

3.1顺序结构 41

3.2选择结构 41

3.2.1分支结构的形式 42

3.2.2单分支结构 42

3.2.3双分支结构 43

3.2.4多分支结构 44

3.2.5 if语句的嵌套 45

3.2.6 if语句典型示例代码 46

3.2.7选择结构综合举例 47

3.3循环结构 48

3.3.1可迭代对象 48

3.3.2 range对象 49

3.3.3 for循环 49

3.3.4 while循环 50

3.3.5循环的嵌套 51

3.3.6 break语句 52

3.3.7 continue语句 53

3.3.8死循环(无限循环) 54

3.3.9 else子句 55

3.3.10循环语句典型示例代码 55

3.3.11循环结构综合举例 56

复习题 57

上机实践 60

第4章 常用内置数据类型 64

4.1 Python内置数据类型概述 64

4.1.1数值数据类型 64

4.1.2序列数据类型 64

4.1.3集合数据类型 65

4.1.4字典数据类型 65

4.1.5 NoneType、 NotImplementedType和E1lipsisType 65

4.1.6其他数据类型 65

4.2 int数据类型(任意精度整数) 65

4.2.1整型字面量 66

4.2.2 int对象 66

4.2.3 int对象的方法 66

4.2.4整数的运算 67

4.3 float类型(有限精度浮点数) 68

4.3.1浮点类型字面量 68

4.3.2 float对象 68

4.3.3 float对象的方法 68

4.3.4浮点数的运算 69

4.4 complex类型(复数) 70

4.4.1复数类型字面量 70

4.4.2 complex对象 70

4.4.3 complex对象属性和方法 70

4.4.4复数的运算 70

4.5 bool数据类型(布尔逻辑值) 71

4.5.1布尔值字面量 71

4.5.2 bool对象 71

4.5.3逻辑运算符 72

4.6 str数据类型(字符串) 73

4.6.1字符串字面量 73

4.6.2字符串编码 73

4.6.3转义字符 73

4.6.4 str对象 74

4.6.5 str对象属性和方法 74

4.6.6字符串的运算 75

4.6.7对象转换为字符串 75

4.6.8字符串的格式化 75

4.7比较关系运算和条件表达式 76

4.7.1条件表达式 76

4.7.2关系和测试运算符 77

4.8算术运算符和位运算符 78

4.8.1算术运算符 78

4.8.2位运算符 78

4.9混合运算和数值类型转换 79

4.9.1隐式转换 79

4.9.2显式转换(强制转换) 79

4.10内置标准数学函数 80

4.10.1内置数学运算函数 80

4.10.2数制转换函数 80

复习题 81

上机实践 84

第5章 系列数据类型 89

5.1 Python系列数据概述 89

5.1.1数组 89

5.1.2系列数据类型 89

5.2系列数据的基本操作 90

5.2.1系列的长度、最大值、最小值、求和 90

5.2.2系列的索引访问操作 90

5.2.3系列的切片操作 91

5.2.4系列的连接和重复操作 92

5.2.5系列的成员关系操作 92

5.2.6系列的比较运算操作 93

5.2.7系列的排序操作 94

5.2.8内置函数all()和any() 94

5.2.9系列拆封 94

5.3元组 95

5.3.1使用元组字面量创建元组实例对象 95

5.3.2使用tuple对象创建元组实例对象 96

5.3.3元组的系列操作 96

5.4列表 96

5.4.1使用列表字面量创建列表实例对象 96

5.4.2使用list对象创建元组实例对象 97

5.4.3列表的系列操作 97

5.4.4 list对象的方法 97

5.4.5列表解析表达式 98

5.5字符串 98

5.5.1字符串的系列操作 98

5.5.2字符串编码 99

5.5.3字符串格式化 99

5.6字节系列 102

5.6.1 bytes常量 102

5.6.2创建bytes对象 102

5.6.3创建bytearray对象 103

5.6.4 bytes和bytearray的系列操作 103

5.6.5字节编码和解码 104

复习题 104

上机实践 106

第6章 输入和输出 108

6.1输入和输出概述 108

6.2命令行参数 108

6.2.1 sys.argv与命令行参数 108

6.2.2 argparse模块和命令行参数解析 109

6.3标准输入和标准输出函数 110

6.3.1输入和输出函数 110

6.3.2交互式用户输入 111

6.3.3运行时提示输入密码 112

6.4文件和文件对象 112

6.4.1文件对象和open函数 112

6.4.2文件的打开、写入、读取和关闭 113

6.4.3 with语句和上下文管理协议 113

6.5标准输入、输出和错误流 114

6.5.1标准输入、输出和错误流文件对象 114

6.5.2读取任意长度的输入流 115

6.5.3标准输入、输出和错误流重定向 115

6.6重定向和管道 116

6.6.1重定向标准输出到一个文件 117

6.6.2重定向文件到标准输入 117

6.6.3管道 118

6.6.4过滤器 119

复习题 121

上机实践 121

第7章 错误和异常处理 123

7.1程序的错误 123

7.1.1语法错误 123

7.1.2运行时错误 123

7.1.3逻辑错误 124

7.2异常处理 125

7.2.1异常处理概述 125

7.2.2内置的异常类 125

7.2.3引发异常 127

7.2.4捕获处理异常机制概述 128

7.2.5 Python虚拟机捕获处理异常 128

7.2.6使用try …except…else …fiinally语句捕获处理异常 128

7.2.7捕获异常的顺序 129

7.2.8 fiinally块和发生异常后的处理 130

7.2.9自定义异常类 130

7.3断言处理 131

7.3.1断言处理概述 131

7.3.2 assert语句和AssertionError类 131

7.3.3启用/禁用断言 132

7.4程序的基本调试方法 132

7.4.1语法错误的调试 133

7.4.2运行时错误的调试 133

7.4.3逻辑错误的调试 134

复习题 134

上机实践 135

第8章 函数 137

8.1函数概述 137

8.1.1函数的基本概念 137

8.1.2函数的功能 137

8.1.3 Python函数分类 137

8.2函数的声明和调用 138

8.2.1函数对象的创建 138

8.2.2函数的调用 139

8.2.3作为对象的函数 140

8.2.4 Lamda表达式和匿名函数 140

8.2.5函数的副作用 141

8.3参数的传递 141

8.3.1形式参数和实际参数 141

8.3.2形式参数变量和对象引用传递 142

8.3.3传递不可变对象的引用 142

8.3.4传递可变对象的引用 143

8.3.5可选参数 143

8.3.6位置参数和命名参数 144

8.3.7可变参数 145

8.3.8强制命名参数 145

8.3.9参数类型检查 146

8.4函数的返回值 146

8.4.1 return语句和函数返回值 146

8.4.2多条return语句 147

8.4.3返回多个值 148

8.5变量的作用域 148

8.5.1全局变量 148

8.5.2局部变量 149

8.5.3全局语句global 150

8.5.4非局部语句nonlocal 151

8.5.5类成员变量 151

8.5.6输出局部变量和全局变量 151

8.6递归函数 152

8.6.1递归函数的定义 152

8.6.2递归函数的原理 153

8.6.3递归函数需要注意的问题 154

8.6.4递归函数的应用:最大公约数 154

8.6.5递归函数的应用:汉诺塔 155

8.7内置函数的使用 156

8.7.1内置函数一览 156

8.7.2 eval函数 156

8.7.3 exec函数 157

8.7.4 compile函数 157

复习题 157

上机实践 159

第9章 类和对象 161

9.1面向对象概念 161

9.1.1对象的定义 161

9.1.2封装 161

9.1.3继承 161

9.1.4多态性 161

9.2类对象和实例对象 162

9.2.1类对象 162

9.2.2实例对象 162

9.3属性 163

9.3.1实例属性 163

9.3.2类属性 164

9.3.3私有属性和公有属性 164

9.3.4@property装饰器 165

9.3.5特殊属性 167

9.3.6自定义属性 167

9.4方法 168

9.4.1实例方法 168

9.4.2静态方法 169

9.4.3类方法 170

9.4.4 init方法(构造函数)和new方法 171

9.4.5 del方法(析构函数) 172

9.4.6私有方法与公有方法 173

9.4.7方法重载 173

9.5继承 174

9.5.1派生类 174

9.5.2查看继承的层次关系 175

9.5.3类成员的继承和重写 176

9.6对象的特殊方法 176

9.6.1对象的特殊方法概述 176

9.6.2运算符重载与对象的特殊方法 177

9.6.3@functools.total_ordering装饰器 179

9.6.4 call方法和可调用对象 179

9.7对象的引用、浅拷贝和深拷贝 180

9.7.1对象的引用 180

9.7.2对象的浅拷贝 180

9.7.3对象的深拷贝 181

复习题 181

上机实践 183

第10章 模块和客户端 185

10.1模块化程序设计的概念 185

10.1.1模块化程序设计 185

10.1.2模块的API 185

10.1.3模块的实现 186

10.1.4模块的客户端 187

10.1.5模块化程序设计的优越性 187

10.2模块的设计和实现 188

10.2.1模块设计的一般原则 188

10.2.2 API设计 188

10.2.3创建模块 188

10.2.4模块的私有函数 189

10.2.5模块的测试代码 190

10.2.6编写模块文档字符串 191

10.2.7按字节编译的.pyc文件 192

10.3模块的导入和使用 192

10.3.1导入模块和使用模块 192

10.3.2导入模块中的成员 192

10.3.3重新加载模块 193

10.3.4动态代入模块 193

10.4包 194

10.4.1包的概念 194

10.4.2创建包 194

10.4.3包的导入和使用 195

10.5模块的导入顺序 195

10.5.1导入模块时的搜索顺序 195

10.5.2模块搜索路径sys.path 196

10.5.3 dir()内置函数 197

10.6命名空间与名称查找顺序 198

复习题 198

上机实践 199

第11章 算法与数据结构基础 200

11.1算法及其性能分析 200

11.1.1算法概述 200

11.1.2算法的时间复杂度分析 200

11.1.3增长量级 201

11.1.4算法的空间复杂度分析 202

11.2查找算法 202

11.2.1顺序查找法 202

11.2.2二分查找法 204

11.2.3 Python语言提供的查找算法 205

11.3排序算法 205

11.3.1冒泡排序法 205

11.3.2选择排序法 206

11.3.3插入排序法 207

11.3.4归并排序法 208

11.3.5快速排序法 210

11.3.6 Python语言提供的排序算法 211

11.4常用数据结构 211

11.4.1数据结构概述 211

11.4.2常用的数据结构概述 212

11.4.3 Python的collections模块 212

11.5数组 213

11.5.1列表和数组 213

11.5.2 array.array对象和数组 213

11.6栈和队列 214

11.6.1栈的实现:使用列表 214

11.6.2 deque对象 215

11.6.3 deque作为栈 216

11.6.4 deque作为队列 216

11.7集合 217

11.7.1集合的定义 217

11.7.2判断集合元素是否存在 217

11.7.3集合的运算:并集、交集、差集和对称差集 218

11.7.4集合的比较运算:相等、子集和超集 218

11.7.5集合的长度、最大值、最小值、元素和 219

11.7.6可变集合的方法 219

11.8字典(映射) 220

11.8.1对象的哈希值 220

11.8.2字典的定义 220

11.8.3字典的访问操作 221

11.8.4字典的视图对象 221

11.8.5判断字典键是否存在 221

11.8.6字典对象的长度和比较 221

11.8.7字典对象的方法 222

11.8.8 defaultdict对象 222

11.8.9 OrderedDict对象 223

11.8.10 ChainMap对象 223

11.8.11 Counter对象 224

11.9 collections模块的其他数据结构 226

11.9.1 namedtuple对象 226

11.9.2 UserDict、 UserList和UserString对象 227

复习题 227

上机实践 230

第12章 图形用户界面 233

12.1图形用户界面概述 233

12.1.1 tkinter 233

12.1.2其他GUI库简介 233

12.2 tkinter概述 234

12.2.1 tkinter模块 234

12.2.2图形用户界面构成 234

12.2.3框架和GUI应用程序类 235

12.2.4 tkinter主窗口 236

12.3几何布局管理器 236

12.3.1 pack几何布局管理器 237

12.3.2grid几何布局管理器 237

12.3.3 place几何布局管理器 239

12.4事件处理 240

12.4.1事件类型 240

12.4.2事件绑定 240

12.4.3事件处理函数 241

12.5常用组件 242

12.5.1 Label 242

12.5.2 LabelFrame 242

12.5.3 Button 243

12.5.4 Message 244

12.5.5 Entry 245

12.5.6 Text 245

12.5.7 Radiobutton 247

12.5.8 Checkbutton 247

12.5.9 Listbox 250

12.5.10 OptionMenu 251

12.5.11 Scale 253

12 5.12 Toplevel 254

12.5.13 ttk子模块控件 254

12.6对话框 255

12.6.1通用消息对话框 255

12.6.2文件对话框 256

12.6.3颜色选择对话框 257

12.6.4通用对话框应用举例 258

12.6.5简单对话框 259

12.7菜单和工具栏 260

12.7.1创建主菜单 260

12.7.2创建上下文菜单 262

12.7.3菜单应用举例 263

复习题 265

上机实践 266

第13章 图形绘制 268

13.1 Python绘图模块概述 268

13.2基于tkinter的图形绘制 269

13.2.1基于tkinter画布绘图概述 269

13.2.2创建画布对象 269

13.2.3绘制矩形 270

13.2.4绘制椭圆 270

13.2.5绘制圆弧 271

13.2.6绘制线条 271

13.2.7绘制多边形 272

13.2.8绘制字符串 273

13.2.9应用举例:函数图形 273

13.3基于turtle模块的海龟绘图 274

13.3.1海龟绘图概述 274

13.3.2 turtle模块概述 274

13.3.3绘制正方形 275

13.3.4绘制多边形 275

13.3.5绘制圆形螺旋 276

13.3.6递归图形 277

13.3.7海龟绘图的应用实例 278

13.4基于Matplotlib模块的绘图 279

13.4.1 Matplotlib模块概述 279

13.4.2安装Matplotlib模块 279

13.4.3使用Matplotlib模块绘图概述 280

13.4.4绘制函数曲线 280

13.4.5绘制多个图形 281

13.4.6绘制直方图 282

复习题 283

上机实践 284

第14章 数值日期和时间处理 286

14.1相关模块概述 286

14.1.1数值处理的相关模块 286

14.1.2日期和时间处理的相关模块 286

14.2 math模块和数学函数 286

14.2.1 math模块的API 286

14.2.2 math模块应用举例 289

14.3 cmath模块和复数数学函数 290

14.4 random模块和随机函数 291

14.4.1种子和随机状态 291

14.4.2随机整数 292

14.4.3随机系列 293

14.5数值运算模块NumPy 293

14.5.1数值运算模块的基本使用 293

14.5.2创建数组 294

14.5.3处理数组 295

14.5.4数组应用举例 295

14.6日期和时间处理 295

14.6.1相关术语 295

14.6.2时间对象 296

14.6.3测量程序运行时间 296

14.6.4日期对象 297

14.6.5获取当前日期时间 297

14.6.6日期时间格式化为字符串 298

14.6.7日期时间字符串解析为日期时间对象 298

复习题 299

上机实践 300

第15章 字符串和文本处理 303

15.1相关模块概述 303

15.1.1字符串和文本处理的相关模块 303

15.1.2字符串处理概述的常用方法 303

15.2字符串处理的常用操作 303

15.2.1字符串的类型判断 303

15.2.2字符串大小写转换 304

15.2.3字符串的填充、空白和对齐 304

15.2.4字符串的测试、查找和替换 305

15.2.5字符串的拆分和组合 305

15.2.6字符串的翻译和转换 306

15.2.7字符串应用举例 306

15.3正则表达式 307

15.3.1正则表达式语言概述 307

15.3.2正则表达式引擎 308

15.3.3普通字符和转义字符 308

15.3.4字符类和预定义字符类 309

15.3.5边界匹配符 309

15.3.6重复限定符 310

15.3.7匹配算法:贪婪和懒惰 310

15.3.8选择分支 311

15.3.9分组和向后引用 311

15.3.10正则表达式的匹配模式 313

15.3.11常用正则表达式 313

15.4正则表达式模块re 313

15.4.1匹配和搜索函数 313

15.4.2匹配选项 314

15.4.3正则表达式对象 314

15.4.4匹配对象 315

15.4.5匹配和替换 316

15.4.6分割字符串 316

15.5正则表达式应用举例 316

15.5.1字符串包含验证 316

15.5.2字符串查找和拆分 317

15.5.3字符串替换和清除 318

15.5.4字符串查找和截取 318

复习题 319

上机实践 320

第16章 文件 322

16.1文件操作相关模块概述 322

16.2文本文件的读取和写入 322

16.2.1文本文件的写入 322

16.2.2文本文件的读取 323

16.2.3文本文件的编码 324

16.3二进制文件的读取和写入 325

16.3.1二进制文件的写入 325

16.3.2二进制文件的读取 326

16.4随机文件访问 326

16.5内存文件的操作 328

16.5.1 StringIO和内存文本文件操作 328

16.5.2 BytesIO和内存文本文件操作 328

16.6文件的压缩和解压缩 329

16.7 CSV文件格式的读取和写入 329

16.7.1 csv .reader对象和csv文件的读取 330

16.7.2 csv .writer对象和csv文件的写入 330

16.7.3 csv .DictReader对象和csv文件的读取 331

16.7.4 csv.DictWriter对象和csv文件的写入 332

16.7.5 csv文件格式化参数和Dialect对象 332

16.8 os模块和文件访问 334

16.8.1文件描述符 334

16.8.2使用os模块提供的函数访问文件 334

16.9输入重定向和管道 335

16.9.1 FileInput对象 335

16.9.2 fiileinput模块的函数 336

16.9.3输入重定向 337

16.10对象系列化 338

16.10.1对象系列化概念 338

16.10.2 pickle模块和对象系列化 338

复习题 339

上机实践 340

第17章 数据库访问 341

17.1数据库基础 341

17.1.1数据库概念 341

17.1.2关系数据库 341

17.2 Python数据库访问模块 342

17.2.1通用数据库访问模块 342

17.2.2专用数据库访问模块 343

17.2.3 SQLite数据库和sqlite3模块 343

17.3使用sqlite3模块连接和操作SQLite数据库 344

17.3.1访问数据库的典型步骤 344

17.3.2创建数据库和表 346

17.3.3数据库表的插入、更新和删除操作 346

17.3.4数据库表的查询操作 347

复习题 347

上机实践 348

第18章 网络编程和通信 349

18.1网络编程的基本概念 349

18.1.1网络基础知识 349

18.1.2 TCP/IP简介 349

18.1.3 IP地址和域名 350

18.1.4统一资源定位器URL 351

18.2基于socket的网络编程 352

18.2.1 socket概述 352

18.2.2创建socket对象 353

18.2.3将服务器端socket绑定到指定地址上 353

18.2.4服务器端socket开始侦听 354

18.2.5连接和接收连接 355

18.2.6发送和接收数据 355

18.2.7简单TCP程序:Echo Server 355

18.2.8简单UDP程序:Echo Server 357

18.2.9 UDP程序:Quote Server 358

18.3基于urllib的网络编程 359

18.3.1打开和读取URL网络资源 359

18.3.2创建Request对象 359

18.4基于http的网络编程 360

18.5基于ftplib的网络编程 360

18.5.1创建FTP对象 361

18.5.2创建FTP TLS对象 362

18.6基于poplib和smtplib的网络编程 363

18.6.1使用poplib接收邮件 363

18.6.2使用smtplib发送邮件 363

复习题 364

上机实践 365

第19章 多线程编程 367

19.1线程处理概述 367

19.1.1进程和线程 367

19.1.2线程的优缺点 367

19.2创建和启动多线程 368

19.2.1使用start_new _thread函数创建线程 368

19.2.2使用Thread对象创建线程 368

19.2.3自定义派生于Thread的对象 370

19.2.4线程加入join() 370

19.2.5用户线程和daemon线程 371

19.3线程同步 373

19.3.1线程同步处理 373

19.3.2基于原语锁(Lock/RLock对象)的简单同步 373

19.3.3基于条件变量(Condition对象)的同步和通信 375

复习题 377

上机实践 378

第20章 系统管理 379

20.1系统管理相关模块 379

20.2目录、文件和磁盘的基本操作 379

20.2.1创建目录 379

20.2.2临时目录和文件的创建 379

20.2.3切换当前工作目录 380

20.2.4目录内容列表 380

20.2.5文件通配符和glob.glob函数 380

20.2.6遍历目录和os.walk函数 381

20.2.7判断文件/目录是否存在 381

20.2.8测试文件类型 382

20.2.9文件的日期及其大小 382

20.2.10文件和目录的删除 382

20.2.11文件和目录复制、重命名和移动 383

20.2.12磁盘的基本操作 383

20.3执行操作系统命令和运行其他程序 383

20.3.1 os.system函数 383

20.3.2 os.popen函数 384

20.3.3 subprocess模块 384

20.4获取终端的大小 385

20.5文件压缩和解压缩 386

20.5.1 shutil模块支持的压缩和解压缩格式 386

20.5.2 make archive()和文件压缩 386

20.5.3 unpack archive()函数和文件解压缩 387

20.6 confiigparser模块和配置文件 387

20.6.1 INI文件及INI文件格式 387

20.6.2 ConfigParser对象和INI文件操作 388

复习题 389

上机实践 390

附录 复习题参考答案 391

参考文献 400

精品推荐