Python的os模块提供了系统相关,目录,文件操作,执行命令等操作。

1.文件和目录操作相关的方法:

方法 说明
os.mkdir 创建目录
os.rmdir 删除目录
os.rename 重命名
os.remove 删除文件
os.getcwd 获取当前所在目录
os.walk 遍历目录
os.path.join 连接目录和文件名
os.path.split 分割文件名和目录
os.path.abspath 获取绝对路径
os.path.dirname 获取路径
os.path.basename 获取文件名或者文件夹名
os.path.splitext 分离文件名和扩展名
os.path.isfile 判断路径是否为一个文件
os.path.isdir 判断路径是否为一个目录

示例:

1.os.path.abspath:获取文件或者目录的绝对路径

In []: import os

In []: os.path.abspath('demo.txt')
Out[]: 'E:\\test\\sys\\demo.txt' In []: import os In []: os.path.abspath('sys')
Out[]: 'E:\\test\\sys\\sys' In []: os.path.abspath('.')
Out[]: 'E:\\test\\sys'

2.os.path.dirname:获取文件或者目录的路径

In []: os.path.dirname('E:\\test\\sys\\demo.txt')
Out[]: 'E:\\test\\sys' In []: os.path.dirname('E:\\test\\sys\\')
Out[]: 'E:\\test\\sys'

3.os.path.basename:获取文件名或者文件夹名

In []: os.path.basename('E:\\test\\sys\\demo.txt')
Out[]: 'demo.txt' In []: os.path.basename('E:\\test\\sys')
Out[]: 'sys'

4.os.path.splitext:分离文件名和扩展名

In []: import os

In []: os.path.splitext('E:\\text\\sys\\demo.txt')
Out[]: ('E:\\text\\sys\\demo', '.txt') In []: os.path.splitext('E:\\text\\sys\\')
Out[]: ('E:\\text\\sys\\', '') In []: os.path.splitext('E:\\text\\sys')
Out[]: ('E:\\text\\sys', '')

5.os.path.isfile:是否为文件

In []: import os

In []: os.path.isfile('E:\\test\\sys\\demo.txt')
Out[]: True In []: os.path.isfile('E:\\test\\sys\\')
Out[]: False

6.os.path.isdir:是否为目录

In []: import os

In []: os.path.isdir('E:\\test\\sys\\')
Out[]: True In []: os.path.isdir('E:\\test\\sys\\demo.txt')
Out[]: False

7.os.walk:遍历目录

返回3个元素的元组,dirpath是以字符串形式返回该目录下的所有绝对路径,dirnames是以列表的形式返回每个绝对路径下的文件夹名字,filenames十一列表形式返回该路径下的文件名字。

In []: import os

In []: for dirpath,dirnames,filenames in os.walk('E:\\test'):
...: print(dirpath)
...: print(dirnames)
...: print(filenames)
...:
E:\test
['lib', 'sys']
[]
E:\test\lib
[]
[]
E:\test\sys
[]
['demo.txt']

 2.系统相关的方法:

方法/变量 说明
os.name 查看当前操作系统的名称
os.environ 获取当前系统的环境变量
os.sep 获取当前平台的分隔符
os.extsep 获取文件名和文件扩展名之间的分割符号
os.pathsep 获取path环境变量之间的分隔符
os.linesep 获取行结束符

示例:

 In []: import os

 In []: os.name
Out[]: 'nt' In []: os.environ
Out[]:
environ{'ALLUSERSPROFILE': 'C:\\ProgramData',
'WORKON_HOME': 'E:\\test'} In []: os.sep
Out[]: '\\' In []: os.extsep
Out[]: '.' In []: os.pathsep
Out[]: ';' In []: os.linesep
Out[]: '\r\n' In []:

第十二篇 os模块的更多相关文章

  1. Python之路(第十四篇)os模块

    一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变 ...

  2. Python学习【第十二篇】模块(2)

    序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...

  3. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十二:串口模块① — 发送

    实验十二:串口模块① — 发送 串口固然是典型的实验,想必许多同学已经作烂,不过笔者还要循例介绍一下.我们知道串口有发送与接收之分,实验十二的实验目的就是实现串口发送,然而不同的是 ... 笔者会用另 ...

  4. Python开发【第二十二篇】:Web框架之Django【进阶】

    Python开发[第二十二篇]:Web框架之Django[进阶]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 ...

  5. 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探

    SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...

  6. Spring Cloud第十二篇 | 消息总线Bus

    ​ ​本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

  7. 解剖SQLSERVER 第十二篇 OrcaMDF 行压缩支持(译)

    解剖SQLSERVER 第十二篇   OrcaMDF 行压缩支持(译) http://improve.dk/orcamdf-row-compression-support/ 在这两个月的断断续续的开发 ...

  8. 第十二篇 SQL Server代理多服务器管理

    本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...

  9. 第十二篇 Integration Services:高级日志记录

    本篇文章是Integration Services系列的第十二篇,详细内容请参考原文. 简介在前一篇文章我们配置了SSIS内置日志记录,演示了简单和高级日志配置,保存并查看日志配置,生成自定义日志消息 ...

随机推荐

  1. Halcon学习之三:有关图像通道的函数

    黑白摄像机会返回每个像素所对应的能量采用结果,这些结果组成了一幅单通道灰度值图像,而对于RGB彩色摄像机,它将返回每个像素所对应的三个采样结果,也就是一幅三通道图像.下面这些是与图像通道有关的函数: ...

  2. Spring 快速入门

    1.持久层 (1) 域模型层   (2) Dao 持久层接口  (3) DaoImpl 持久层接口实现 2.业务层 Service 业务接口层 ServiceImpl  业务接口实现 3.展现层 Sp ...

  3. 16-EasyNetQ之自动订阅者

    EasyNetQ v0.7.1.30版本有了一个简单AutoSubscriber.你能够使用它很容易的去扫描指定程序集中实现了IConsume 或 IConsumeAsync接口的类,然后这个自动订阅 ...

  4. Java调用Webservice(asmx)的几个例子

    Java调用Webservice(asmx)的几个例子 2009-06-28 17:07 写了几个调用例子: 1. import org.apache.axis.client.*;import org ...

  5. 构造IOCTL命令的学习心得-----_IO,…

    在编写ioctl代码之前,需要选择对应不同命令的编号.为了防止对错误的设备使用正确的命令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对FIFO和audio等这类非 ...

  6. SQL语句 表字段的操作 添加,删除,修改表的字段

    alter table 表名 drop constraint 约束名字   //删除字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for ...

  7. android解析xml文件的方式

    android解析xml文件的方式   作者:东子哥 ,发布于2012-11-26,来源:博客园   在androd手机中处理xml数据时很常见的事情,通常在不同平台传输数据的时候,我们就可能使用xm ...

  8. eclipse egit(远程仓库)

    Git的强大之一体现在远程仓库,Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且 ...

  9. A Look at the Razor View Engine in ASP.NET MVC

    The biggest architectural difference that exists between ASP.NET MVC and ASP.NET Web Forms is the ne ...

  10. 2014蓝桥杯B组初赛试题《六角填数》

    题目描述: 如图[1.png]所示六角形中,填入1~12的数字.     使得每条直线上的数字之和都相同.     图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交 ...