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. Linux学习笔记 -- 系统目录结构

    以root用户登录系统后,在当前命令窗口下输入命令: ls / 我们可以看到目录结构类似下图: 树状目录结构可以表示为: 解析: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令 ...

  2. 高并发场景下System.currentTimeMillis()的性能问题的优化 以及SnowFlakeIdWorker高性能ID生成器

    package xxx; import java.sql.Timestamp; import java.util.concurrent.*; import java.util.concurrent.a ...

  3. maven(基础介绍一)

    maven:提供的作用有以下几点: 1 jar包依赖 这个也许会maven最突出的特点了使用maven不需要上网单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下 ...

  4. SerialPort缓冲区

    SerialPort缓冲区中有:接收缓冲区,发送缓冲区,输入缓冲区,输出缓冲区,传输缓冲区. 例如: 串口属性:BytesToRead(获取接收缓冲区中数据的字节数)--这里提到的是“接收缓冲区” 串 ...

  5. PHP数据结构之二 线性表中的顺序表的PHP实现

    线性表 (一)基本特点:最基本.最简单.最常用的一种数据结构 在这种结构中: 1.存在一个唯一的被称为“第一个”的数据元素: 2.存在一个唯一的被称为“最后一个”的数据元素: 3.除第一个元素外,每个 ...

  6. linux的基本指令--第三节

    查找与检索: 一.文件名查找:find . -name "test*"      find 路径  查找类型  名字  未输入路径则默认当前路径 二 . 内容检索:grep  &q ...

  7. Docker镜像加速 | Docker 中国源 | 仓库

    镜像加速 | Docker 中国https://www.docker-cn.com/registry-mirror

  8. 值得一做》关于双标记线段树两三事BZOJ 1798 (NORMAL-)

    这是一道双标记线段树的题,很让人很好的预习/学习/复习线段树,我不知道它能让别人学习什么,反正让我对线段树的了解更加深刻. 题目没什么好讲的,程序也没什么好讲的,所以也没有什么题解,但是值得一做 给出 ...

  9. 用Eclipse Memory Analyzer查找内存泄露

    写在CSDN里面了 http://blog.csdn.net/dayulxl/article/details/78164301

  10. 客户端级别的渲染分析工具 dynaTrace

    dynaTrace Ajax Edition是一款很好的javaScript性能分析工具.目前支持IE和Firefox 2款浏览器. dynaTrace如图所示: 点击Click here to st ...