os模块(1)
介绍
- os模块是系统服务应用程序接口,是Python最常用的模块之一。
- os模块包含了
对文件和文件夹的操作
,操作系统相关的操作
等。 - 以及
os.path
模块,主要处理路径操作
。
os
常量
os.linesep
换行符,Unix为 ,Win32为os.sep
文件路径分隔符,Unix为 /,Win32为os.pathsep
多个文件路径间的分隔符,Unix为 :,Win32为 ;os.curdir
当前工作目录os.pardir
当前工作目录的父目录
代码
import os print os.linesep print os.sep print os.pathsep print os.curdir print os.pardir
文件目录操作
os.mkdir
创建指定目录os.rmdir
删除指定目录os.listdir
列出指定目录的文件os.chdir
改变当前文件目录os.chroot
改变当前进程的根目录os.getcwd
显示当前目录os.makedirs
创建多层目录os.removedirs
删除多层目录os.mknod
创建空文件os.remove
删除文件
代码
import os path = '/xxx' # 目录路径 # 创建目录 os.mkdir(path + '/newdir') # 要创建目录的父目录必须存在 os.mkdir(path + '/newdir2', 0666) # 0666为权限 # 删除目录 os.rmdir(path + '/newdir') # 该目录必须没有内容 # 列出目录的文件 print os.listdir('/xxx') # 返回一个数组包含该目录下所有文件文件夹的名字 # 更改当前文件目录 os.chdir('/xxx') # 多用于执行系统命令时的环境变化 # 更改当前进程的根目录 os.chroot('/xxx') # 显示当前目录 print os.getcwd() # 创建多层目录 # os.mkdir只能创建一层目录,当父目录不存在时就会报错 # 而os.makedirs就可以直接创建多层目录 os.makedirs(path + '/newdir3/mypython/xxx') # 删除多层目录 # 每层都要是空的,除了要删除目录 os.removedirs(path + '/newdir3/mypython/xxx') # 创建空文件 os.mknod(path + '/abc.txt') # 删除文件 os.remove(path + '/abc.txt')
文件属性操作
os.rename
文件改名os.stat
查看文件状态os.chmod
修改文件权限os.chown
修改文件所有人
代码
import os # 要操作的文件 filepath = '/xxx/abc.txt' # 改名 os.rename(filepath, '/xxx/xyz.txt') # abc.txt 改名为 xyz.txt # 查看文件状态 fs = os.stat(filepath) # 返回一组文件状态 # 包含了10个属性: print fs.st_mode # 模式 print fs.st_ino # 索引号 print fs.st_dev # 设备 print fs.st_nlink # 硬链接号 print fs.st_uid # 用户id print fs.st_gid # 组id print fs.st_size # 大小 print fs.st_atime # 访问时间 print fs.st_mtime # 修改时间 print fs.st_ctime # 创建时间 # 修改文件权限 os.chomd(filepath, 0777) # 修改文件权限为777 # 修改文件所有人 uid = 1123 gid = 1123 os.chown(filepath, uid, gid)
遍历文件夹
os.walk
用for循环遍历所有文件os.path.walk
用回调函数遍历所有文件
代码
import os # 打印文件夹下所有文件 # 方法一 os.walk # for遍历 root, dirs, files为用于遍历的参数 for root, dirs, files in os.walk('/Users/linfan/Desktop/xxx'): print '=========' print '文件夹:', root print '包含文件:' for f in files: print f # 方法二 os.path.walk # 回调函数 参数arg是os.path.walk方法传过来的参数 # 参数dirname为文件夹 # 参数files是该文件夹下的所有文件 def print_file(arg, dirname, files): print '==========', arg print '文件夹:', dirname print '包含文件:' for f in files: print f os.path.walk(r"/Users/linfan/Desktop/xxx", print_file ,'abc')
本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 )
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4625483.html