python3_06_01.模块之os

好车配好轮。

os.environ

获取系统环境变量

os.name

字符串指示当前使用平台。win->'nt'; Linux->'posix'

os.sep

操作系统特定的路径分隔符,win下为"\",Linux下为"/"

>>> os.getcwd() + os.sep + 'world.txt'

'/tmp/world.txt' 目录字符串拼接很有用

os.linesep

当前平台使用的行终止符,win下为"tn",Linux下为"n"

os.system('top')

运行shell命令,直接显示

os.getcwd()

查看当前目录

切换目录

os.listdir()

列出目录下所有内容

os.mkdir('test')

新建单级目录test

os.rmdir('test')

删除目录test,目录不为空则报错

os.removedirs('ceshi/test')

递归删除目录,ceshi也会被删除,不为空报错

os.makedirs('ceshi/test')

新建多层递归目录

os.remove('test.txt')

删除文件

os.rename('hello.txt','world.txt')

重命名文件/目录,前为旧后为新

os.stat('/tmp/world.txt')

获取文件目录信息

os.access('/tmp/world.txt',os.F_OK)

os.access(path, mode);检测权限

os.F_OK: 作为access()的mode参数,测试path是否存在。

os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。

os.W_OK 包含在access()的mode参数中 , 测试path是否可写。

os.X_OK 包含在access()的mode参数中 ,测试path是否可执行。

os.chmod()

用于更改文件或目录的权限。

http://www.runoob.com/python/os-chmod.html

os.chown(path, uid, gid);

用于更改文件所有者,如果不修改可以设置为 -1

os.chroot()

更改当前进程的根目录为指定的目录,使用该函数需要管理员权限。

os.path.abspath("world.txt")

返回绝对路径

返回结果: '/tmp/world.txt'

os.path.basename("/tmp/world.txt")

返回文件名

返回结果: 'world.txt'

os.path.isabs("world.txt")

如果是绝对路径,返回True

返回结果: False

os.path.isdir("/usr")

如果path是一个存在的目录,则返回True。否则返回False

返回结果: True

os.path.isfile("world.txt")

如果path是一个存在的文件,返回True。否则返回False

返回结果: True

os.path.split("/var/log/messages")

把路径分割为文件名 和 目录名

返回结果 : ('/var/log', 'messages')

os.path.dirname("/var/log/messages")

获取文件的上级目录

返回结果: '/var/log'

os.path.join(path1[, path2[, …]])

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略,这个必会,日后用途非常广泛!

请看下面实例

#linux下查找文件def find_file(name,start='/'):for relpath,dirs,files in os.walk(start):    if name in files:    full_path = os.path.join(start,relpath,name)    file_path = os.path.normpath(os.path.abspath(full_path))   return file_path