第十二篇 os模块
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模块的更多相关文章
- Python之路(第十四篇)os模块
一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变 ...
- Python学习【第十二篇】模块(2)
序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十二:串口模块① — 发送
实验十二:串口模块① — 发送 串口固然是典型的实验,想必许多同学已经作烂,不过笔者还要循例介绍一下.我们知道串口有发送与接收之分,实验十二的实验目的就是实现串口发送,然而不同的是 ... 笔者会用另 ...
- Python开发【第二十二篇】:Web框架之Django【进阶】
Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 ...
- 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探
SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...
- Spring Cloud第十二篇 | 消息总线Bus
本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...
- 解剖SQLSERVER 第十二篇 OrcaMDF 行压缩支持(译)
解剖SQLSERVER 第十二篇 OrcaMDF 行压缩支持(译) http://improve.dk/orcamdf-row-compression-support/ 在这两个月的断断续续的开发 ...
- 第十二篇 SQL Server代理多服务器管理
本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...
- 第十二篇 Integration Services:高级日志记录
本篇文章是Integration Services系列的第十二篇,详细内容请参考原文. 简介在前一篇文章我们配置了SSIS内置日志记录,演示了简单和高级日志配置,保存并查看日志配置,生成自定义日志消息 ...
随机推荐
- MAC 10.6 64wei
苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 位模式,关于开启 64 位的好处,字太多,本文后半段介绍.下面先说查看你的苹果电脑是否开启了 64 位以及设置苹果电脑 Mac ...
- oracle记录错误存储过程
CREATE OR REPLACE PROCEDURE SP_ERROR_LOGS_PRO(v_pro_name VARCHAR2, v_step_name VARCHAR2, v_date VARC ...
- java成神之——集合框架之ArrayList,Lists,Sets
集合 集合种类 ArrayList 声明 增删改查元素 遍历几种方式 空集合 子集合 不可变集合 LinkedList Lists 排序 类型转换 取交集 移动元素 删除交集元素 Sets 集合特点 ...
- vue-cli中的babel配置文件.babelrc详解
本文介绍vue-cli脚手架工具根目录的babelrc配置文件 介绍 es6特性浏览器还没有全部支持,但是使用es6是大势所趋,所以babel应运而生,用来将es6代码转换成浏览器能够识别的代码 ba ...
- Spring项目的发展历史和SpringBoot的发展历史
Spring项目的发展历史和SpringBoot的发展历史 在Java做web应用的服务端开发领域,一直存在着两套技术体系,一套是Sun公司官方推出的JavaEE,另一套是Spring.Spring ...
- 01 asp.net编程笔记
1.asp.net 获取当前网址url 参考地址:http://www.cnblogs.com/190196539/archive/2011/12/13/2286072.html 设当前页完整地址是: ...
- C程序栈内存堆内存的地址
#include <stdio.h> #include <malloc.h> int main() { char * p1, * p2; p1=(char *)malloc(2 ...
- web服务器推送技术
传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.不能满足很多现实应用的需求,譬如: 监控系统:后台硬件温度.电压发生变化: 即时通信系统:其它用户登录.发送信息: 即时报价系统:后台 ...
- laravel中的文件上传到本地+七牛云上传
首先在filesystems.php 配置好上传的文件的目录起名为upload 在Storage/目录下面 目录下面的app/upload 如果没有这个文件会自动创建 这里的名字upload名字是跟控 ...
- mybatis spring 框架整合
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test user=LF password=LF <?xml versi ...