当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第八章:python生态库 > 8.2标准库-Os库与Sys库
标准库
Python标准库非常庞大
所提供的组件涉及范围十分广泛
库中包含了多个内置模块
通常是以C语言编写的
Python程序员必须依靠他们来实现系统级功能
比如说文件的输入输出
此外,还有大量以Python编写的模块
提供了日常编程中许多问题的标准解决方案
其中有些模块是专门设计的
通过将特定平台,功能,抽象
抽象化为平台中立的API
来鼓励和加强Python程序的可移植性
OS库和SYS库
OS库是提供通用的基本的操作系统交互功能
路径操作包括OS.path字库
处理文件路径及其信息
进程管理呢
是启动系统中其他的一些应用程序和文件的
环境参数,可以获得系统硬件信息等环境参数
OS库提供了许多函数和变量来处理Python运行时环境的不同部分
如操作系统平台及其版本信息
模块搜索路径,命令行的一些参数信息
标准输入和输出流和程序退出
那么OS库和SYS库都是我们常用的标准库
下面我们来看一下OS库里面常用的一些方法
比如说我们可以通过OS.removed来删除文件
OS.rename来去修改文件名
OS.walk来生成目录下所有的文件名以及目录的一些改变
那么还有一些OS.path对文件路径或者查看文件路径等等
判断他是不是一个绝对路径,还是相对路径的一些文件的操作
SYS库常用的方法有
我们通过sys.argv去看我的命令行里面的参数
通过sys.exit可来以退出
还有通过sys.path去返回模块的搜索路径
还有通过sys.platform看我们操作系统的平台
那么sys.stdout和sys.stdin分别是标准的输出和输入
以及可以通过sys.stdin.readline从标准输入读一行
那么有许多的函数
我们等会在Jupyter里面去看一些
我们常用的OS库和sys库的方法的使用
下面我们看一下OS库常用的一些方法的实例
那么在使用这个库之前和其他的一样
我们都是要先通过import导入OS
用它里面的模块可以导入os.path.as.op
那么下面就可以通过OP点,我们在path里面的方法
就可以直接使用
op.abspath,那么就是返回他的一个绝对路径
那么这个绝对路径是我们已经给他了
返回这个值
返回这个绝对路径
他们也可以返回我们目前程序与我们给定的
这个路径的相对路径的显示
那这个通过op.relpath去执行
我们执行可以看到
那么就是当前文件和我们这个目录是
父级目录的父级目录关系
我们可以看文件
这是当前的文件的目录
那么就是他在当前目录下的父级目录的父级目录
就是这个跟我们这个MOOC目录的关系
另外的话我们还可以通过op.listdir
去显示我们指定的目录下面的文件列表
当然这个里面是包括文件里面的文件夹的名称
这就是我们指定的目录下的文件以及文件夹列表
我们看一下当前目录下
刚才可以看到,我们这是当前目录下有这些文件夹及文件
那么通过OS库来去操作看一下他是什么样子呢
那么可以看跟刚才是不是一样的呀,那是一样的
那么另外我们可以通过mkdir去创建一个目录
那么创建完这个目录,我们再看一下当前路径
我们创在什么地方呢?
这个点表示的是当前目录
前面都是点点表示父级目录
那么在path中的这个路径之间的分割是用两个撇斜杠完成了
那么这个就是当前目录下建立一个名字为601的这样的一个文件夹
在执行以后
我们可以看显示我们刚才当前路径下的目录列表
在这里面就多了一个new01
同样的我们可以通过rmdir这样的一个方法
把我们刚才建的这个目录可以删除掉
执行,他就删除
我们看一下当前目录
那我们可以看找不到我们的new01了
这是我们通过OS对一些目录的操作
另外的话,我们可以通过os.sys去打开一个软件
这个是你给他指定一个软件的路径
当然是相对和绝对路径都可以
我们这给了一个路径
这个地方是打开我们一个画图软件
也就是我们的画板
运行一下
可以看到我们这个画板就打开了
那么同样也可以使用这个软件再打开一个文件
我们画板下面再打开这个相对路径下的一个文件
那么就是在当前目录下面的又一个文件夹
“科学计算库”这个文件夹下面打开“foo.png这个文件
那么运行以后可以看到
那么这个文件呢就打开了
在指定的一个应用程序打开一个指定的文件
下面我们看一下sys库的一些方法的使用
那么sys库是可以看到我们的当前的应用软件版本
我们用的path3.7的版本
以及我们当前的使用的平台是什么样子
我们通过platform可以看到当前的平台是win32
如果你使用的是Linux这里就会是Linux
另外它可以返回我们当前使用的一些目录列表
这个的话我们可以看使用的
当前的这个目录
然后呢,会使用到python37
然后还用到的一些动态链接库
还有静态链接库等等
以及可以查找到第三方的一些扩展模块
这个地方都可以显示的
那么这个sys.argv后面下标
那么就可以看到我们输入的一些参数
如果是零的话,可以看到我们当前运行的命令
而当前运行的其实就是执行的文件
我们可以看,他运行的是这个
ipykernel下面的这个PY文件,运行的他
下面这个sys.modules.keys是返回我们已经导入模块的列表
这个可以有很多的
那么在现在导入模块下面的列表
我们可以看到第一个就是我们的sys
下面的模块的名称
另外的话,我们可以看到他通过sys.stdin
可以是我们的标准的输入
那么从标准输入读一行
标准输入读一行,其实还是读到我们键盘
所以他不能输出
我们通过input就是通过标准的输入
然后放到这个name1里
他是可以输出的
执行以后呢我们可以看得到
我们输入他
这样的话,我们可以看这是输入的
这个argv是我们调用的命令行
命令程序就是他
还有一个我们sys下面常用的sys.stdout
那他其实跟print是一样的
他.write就是一个输出的功能
我们有一个换行
就等于我们的print
我们来看写的是不一样
他们看他的输出结果会是什么样子的
运行以后我们可以看到他两输出的是一样
这是输出Hello,这是输出world
那么这个就是我们上面给大家介绍了
sys标准库和os标准库一些常用的方法
当然了,这个里面包含的方法很多
大家下去可以自己在你的电脑上可以练一下
都是非常简单的
好,我们这一节就到这
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试