集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

成都python培训:Python OS模块简介

发布者: 成都达内     浏览次数:     发布时间:2019-03-26 10:07:11

成都python培训在本教程中,我们将学习怎样使用Python中的os模块。Python是近年来用于数据处理、数据分析和网站构建等各种任务的最常用语言之一。...

  成都python培训:Python OS模块简介

  在本教程中,我们将学习怎样使用Python中的os模块。

  目录表

  简介

  基本函数

  列出当前工作目录的文件/目录

  改变工作目录

  创建单个和嵌套目录结构

  递归删除单个和嵌套目录结构

  数据处理实例

  结论

  简介

  Python是近年来用于数据处理、数据分析和网站构建等各种任务的最常用语言之一。在处理这些任务的过程中,有许多任务依赖于操作系统。Python允许开发人员通过Python中的os模块使用多个依赖于操作系统的功能。这个包抽象了平台的功能,并提供了相关python函数来导航、创建、删除和修改文件和文件夹。在本教程中,你将了解如何导入这个包、它的基本功能以及使用这个库执行数据合并任务的python示例项目。

  基本函数

  我们通过一些实例代码来学习一下这个模块。

  导入库:

  成都python培训

  我们来获取本模块可以使用的方法列表:

  

  输出:

  成都python培训

  现在,使用getcwd方法我们可以获取当前工作目录路径。

  

  输出:

  

  列出文件夹和文件

  我们使用 listdir 来列出当前目录的文件夹/文件:

  

  输出:

  Python OS模块简介

  如你所看到的,我有两个文件夹: Data 和 Population_Data ,三个文件: README.md markdown 文件, 以及两个名为 tutorial.py 和 tutorial_v2.py的Python文件。

  为了获取我的项目文件夹的树形结构,我们来写一个函数,使用 os.walk() 来迭代当前目录下每个文件夹中的所有文件。

  

  在当前工作路径中调用这个函数,当前路径可以通过之前学习的函数得到:

  

  输出:

  Python OS模块简介

  备注:为方便起见,只截取输出一部分。

  从输出中可以看到,文件夹的名称以一个 / 结尾,文件夹中的文件向右缩进了四个空格。Data 文件夹中有一个名为 uscitiesv1.4.csv 的csv文件。这个文件包含了美国每个城市的人口数据。Population_Data 文件夹保存所有州的数据,其中包含从 uscitiesv1.4.csv 中提取的每个州的人口数据的独立csv文件。

  改变工作目录

  我们来改变工作目录,进入到包含 “New York”州数据的目录。

  

  现在,我们在这个目录中再次运行 list_files 方法。

  

  输出:

  

  如你所见,我们进入了 Population_Data 文件夹下的 New York 文件夹。

  创建单个和嵌套目录结构

  现在,我们在这个目录中创建一个名为 testdir 的新目录。

  成都python培训:Python OS模块简介

  

  输出:

  

  如你所见,它在当前工作目录中创建了一个新目录。

  我们来创建一个两层嵌套的目录。

  

  输出:

  成都python培训:Python OS模块简介

  我们得到一个错误。具体来说,我们得到一个 FileNotFoundError 错误。你可能想知道,当我们试图创建目录时,为什么会产生一个 FileNotFound 错误。

  原因:Python模块寻找一个名为 level1dir 的目录来创建 level2dir 目录。因为level1dir 不存在,所以它首先抛出一个 FileNotFoundError错误。

  对于这样的目的,我们可以使用 mkdirs() 函数来代替,它可以递归地创建多个目录。

  

  查看当前目录树。

  成都python培训班

  输出:

  

  可以看到,现在在 New York 文件夹下有两个子目录:testdir 和level1dir。level1dir下面有一个名为level2dir 的目录。

  递归删除单个和多层目录

  os 模块也有修改或删除目录的方法,我将在这里演示。

  现在,让我们来使用 rmdir 删除刚才创建的目录:

  成都python培训班

  查看当前目录树来确认此目录已经不存在:

  

  输出:

  

  你可以看到,testdir 目录已经被删除。

  我们来尝试删除嵌套目录树 level1dir 和 level2dir。

  

  输出:

  成都python培训机构

  正如所见,这里抛出了一个 OSError,这是正确的。它提示 level1dir 目录不是空的。这是正确的,因为它下面有 level2dir。

  使用 rmdir 方法不可能删除非空目录,类似于Unix命令行版本。

  就像 makedirs() 方法一样,我们试一下 rmdirs(),它可以递归地删除树结构中的目录。

  

  我们再来看一下树结构:

  

  输出:

  

  它返回前一个目录的状态。

  数据处理实例

  到目前为止,我们已经研究了如何查看、创建和删除嵌套目录结构。现在我们来看一个os 模块如何帮助数据处理的例子。

  为此,我们在目录结构中向上一层。

  成都python培训机构

  这一步操作之后,我们再来查看一下目录树结构。

  

  输出:

  成都python培训:Python OS模块简介

  备注:为了简便起见,只截取输出一部分。

  我们通过遍历每个州的目录并合并CSV文件来合并所有州的数据。

  成都python培训:Python OS模块简介

  由于 os 模块的部分原因,我们能够创建 merge_data,这是一个包含来自每个州的人口数据的数据帧。

  结论

  在本文中,我们简要地探讨了Python内置 os 模块的不同功能。我们还看到了一个简单的例子,说明如何在数据科学和分析领域中使用该模块。很重要的一点是,要了解 os还提供了很多的功能,并且可以根据开发人员的需要构建更复杂的逻辑。

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56