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. mysql数据增删查授权

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  2. js实现的点击div区域外隐藏div区域

    首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根. 阻止冒泡:1.对 ...

  3. Python多线程-队列

    队列就是存东西取东西,多用于多线程中 按照顺序 对传入的数据按规定的顺序输出 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" ...

  4. Linux性能监测:网络篇

    网络的监测是所有 Linux 子系统里面最复杂的,有太多的因素在里面,比如:延迟.阻塞.冲突.丢包等,更糟的是与 Linux 主机相连的路由器.交换机.无线信号都会影响到整体网络并且很难判断是因为 L ...

  5. js操作一般文件和csv文件

    js操作一般文件和csv文件 将文本文件读成字符串 <input type="file" id="upload"> document.getElem ...

  6. 第十六章 Java内存模型(待续)

    ········

  7. c语言语法目录一

    1.#include<stdio.h> include 是要告诉编译器,包含一个头文件 在c语言中,任何库函数调用都需要提前包含头文件 <头文件> 代表让c语言编译器去系统目录 ...

  8. oracle使用exp/imp导入导出(用户)

    实例,从远程机器上导出nxgy用户的所有对象和数据,然后导入到本机数据库的nxgy用户里(用户名可自定义) 如果本机nxgy用户已经存在(数据没用,可以删除),级联删除用户所有对象 首先,从远程机器上 ...

  9. (转)Mac下MySql安装经历(含安装错误排查、卸载多种折腾)

    在安装mysql的时候,活活折腾我两天.结果终于被我折腾成功了……一开始我就放了个错误:我下了32位版本的mysql:mysql-5.5.8-osx10.6-x86.dmg 须知在mac下装的是64位 ...

  10. 开坑数位dp

    [背景] 在10月3日的dp专练中,压轴的第6题是一道数位dp,于是各种懵逼. 为了填上这个留存已久的坑,蒟蒻chty只能开坑数位dp了. [例题一][HDU2089]不要62 题目大意:给你一个区间 ...