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删除指定路径的文件


下一篇:android中的事件传递和处理机制