Python os模块--路径、文件、系统命令等操作
os模块包含普遍的操作系统功能。
注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径
常见或重要的函数为加粗字体
os模块:
os.name ----- 返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce', 'riscos'),windows为'nt',linux为'posix'
os中定义了一组文件、路径在不同操作系统中的表现形式参数,如下:
os.sep --返回路径各部分之间的分隔符,linux是'/',windows是'\\',由于'\'在python中会转义,所以返回值是两个'\' == os.path.sep
os.extsep ----- 返回文件名和文件扩展名之间的分隔符: '.'
os.pathsep ----- 目录分隔符,':'
os.linesep ----- 换行分隔符,linux是'\n',windows是'\r\n'
os中有大量文件、路径操作的相关函数,如:
os.listdir(path) ----- 列举目录下的所有文件和子目录
os.getcwd() ----- 获取当前工作目录路径
os.mkdir(dirname) ----- 创建目录,目录已存在将不能再创建
os.makedirs(dirname) ----- 递归式的创建目录,上级目录不存在,将会创建;目录已存在将不能再创建
os.remove(filename) ----- 删除指定的文件
os.rmdir(dirname) ----- 删除一个空目录
os.removedirs(dirname) ----- 递归删除空目录,例如 os.removedirs('dir1/dir2/dir3'),dir1下除了dir2还有其他,dir2下只有dir3,则删除dir3和dir2
os.rename(src, dst) ----- 给文件或目录改名
os.renames(src, dst) ----- 递归式的给文件或目录改名
os.access(path, mode) ----- 检验权限模式,返回值为bool值。mode参数列表[os.F_OK, os.R_OK, os.W_OK, os.X_OK]
os.F_OK: path是否存在;os.R_OK: path是否可读; os.W_OK: path是否可写;os.X_OK: path是否可执行。
os.chdir(path) ----- 改变当前工作目录
os.walk(path[, topdown=True[, onerror=None[, followlinks=False]]] ) ----- 遍历路径下的目录和文件以及子目录下的目录和文件,不管多少层多会遍历到。 返回一个3-元组的generator:(dirpath, dirnames, filenames)[目录路径,目录名列表,文件名列表]
可选参数:
topdown -- 为True或者没有指定,先遍历目录再遍历其子目录;为False,一个目录的3-元组比它的任何子目录的3-元组后产生
onerror -- 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
followlinks -- 设置为 true,则通过软链接访问目录。
实例见下一篇: http://www.cnblogs.com/victorwu/p/5840099.html
os中与进程相关的操作:
os.system(cmd) ----- 运行一个程序或命令,会立即返回,上述很多操作都可以用该函数完成
os.startfile(filename) ----- 用与文件关联的程序运行,关联程序打开后,立即返回
os.execl(path) ----- 运行一个程序来替代当前进程,会阻塞式运行
os._exit(n) ----- 退出程序
os.path模块:
os.path.isfile(path) ----- 检验给出的路径是否是一个文件,返回bool值
os.path.isdir(path) ----- 检验给出的路径是否是一个目录,返回bool值
os.path.exists(path) ----- 检验给出的路径是否存在,返回bool值
os.path.getsize(path) ----- 获得路径(文件或目录)的大小,如果是目录,返回0L,以字节为单位
os.path.abspath(path) ----- 获得绝对路径
os.path.normpath(path) ----- 规范path字符串形式,结果把/变为//
os.path.split(path) ----- 分割路径名和文件名,返回值为tuple:(路径名,文件名.文件扩展名),如果路径是目录,则返回:(路径名,'')
os.path.splitext(path) ----- 分离文件名和扩展名,返回值格式:(文件名,扩展名),如果参数是目录,则返回:(路径,'')
os.path.join(path,name) ----- 连接目录与文件名或目录,返回值为:path/name
os.path.basename(path) ----- 返回文件名,实际上把路径的最后一个"/"分割,返回后者,目录亦如此
os.path.dirname(path) ----- 返回文件路径,实际上是把路径的最后一个"/"分割,返回前者,目录亦如此
os.path.getatime(path) ----- 文件或文件夹的最后访问时间,从新纪元到访问时的秒数
os.path.getmtime(path) ----- 文件或文件夹的最后修改时间
os.path.getctime(path) ----- 文件或文件夹的创建时间
更多方法(文件描述符等)见:http://www.runoob.com/python/os-file-methods.html
Python os模块--路径、文件、系统命令等操作的更多相关文章
- (原创)Python文件与文件系统系列(2)——os模块对文件、文件系统操作的支持
os模块的功能主要包括文件系统部分和进程管理部分,这里介绍其中与文件系统相关的部分. 当请求操作系统执行操作失败时,os模块抛出内置异常 exceptions.OSError 的实例,可以通过 os. ...
- Python os模块之文件操作
基本概念:C:\\haoguo.txt 路径: C:\\ 文件名: haoguo 后缀名:.txt 1. 文件名与后缀分离 2. 路径与文件分离 3. 获取当前路径 4. 文件名与后缀合并 5. 路径 ...
- python os模块判断文件是否存在
import os os.path.exists(test_file.txt)
- Python::OS 模块 -- 进程参数
os模块的简介请参看 Python::OS 模块 -- 简介 os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作 os模块的进程管理 Python::OS 模块 -- 进程管理 ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- 【python基础语法】OS模块处理文件绝对路径,内置的异常类型、捕获、处理(第9天课堂笔记)
import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑 ...
- python OS 模块 文件目录操作
Python OS 模块 文件目录操作 os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C AP ...
- 【python测试开发栈】—帮你总结Python os模块高频使用的方法
Python中的os模块是主要和系统操作相关的模块,在平时的工作中会经常用到,花时间整理了os模块的高频使用方法,同时整理出使用时需要注意的点.归纳来讲,os模块的方法可以分为:目录操作.文件操作.路 ...
- Python::OS 模块 -- 简介
OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...
随机推荐
- 从零开始构建一个的asp.net Core 项目(二)
接着上一篇博客继续进行.上一篇博客只是显示了简单的MVC视图页,这篇博客接着进行,连接上数据库,进行简单的CRUD. 首先我在Controllers文件夹点击右键,添加->控制器 弹出的对话框中 ...
- 二分图的最大匹配——最大流EK算法
序: 既然是个图,并且求边数的最大值.那么这就可以转化为网络流的求最大流问题. 只需要将源点与其中一子集的所有节点相连,汇点与另一子集的所有节点相连,将所有弧的流量限制置为1,那么最大流 == 最大匹 ...
- IOS的KVC
KVC作用 KVC类似于java中的反射,它是通过一个字符串 key 来获取和设置对应类中成员属性的值而key就是用来遍历某一个类,去查找类内部是否有与key同名的成员属性 所以对于KVC来说,成员属 ...
- IOS中的通知NSNotification
类似于Android中的广播接收者发送者 1.一般完整的通知包含三个属性 -(NSString *)name ;//通知的名称 -(id)object ;//通知发布者(是谁要发布通知) -(NSDi ...
- sysbench压测mysql
MySQL数据库测试 select 1.先创建数据库test,再准备数据 time /usr/local/sysbench/bin/sysbench --test=oltp --num-threa ...
- winXP/win7/win10系统关闭445端口方法全攻略
近日有多个高校发布了关于连接校园网的电脑大面积中勒索病毒的消息,这种病毒致使许多高校毕业生的毕业论文(设计)被锁.受害机器的磁盘文件会被篡改为相应的后缀,图片.文档.视频.压缩包等各类资料都无法正常打 ...
- 看透SpringMVC源代码分析与实践 Markdown记录
kantouspringmvc 看透SpringMVC中文版电子书,使用Markdown语法记录学习<看透SpringMVC>的内容,方便自己整理知识,并在原作者写作的基础上添加自己的理解 ...
- javaWeb学习总结(8)- JSP中的九个内置对象(4)
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- Linux vi 命令详解
vi共分为三种模式:分别是一般模式,编辑模式与命令行模式 一般模式:以vi打开一个文件就直接了一般模式(这是默认的模式) 编辑模式:在指令模式下输入的按键“i, I, o, O, a, A, r, R ...
- asp.net core利用DI实现自定义用户系统,脱离ControllerBase.User
前言 很多时候其实我们并不需要asp.net core自带的那么复杂的用户系统,基于角色,各种概念,还得用EF Core,而且在web应用中都是把信息存储到cookie中进行通讯(我不喜欢放cooki ...