[Python基础]009.os模块(1)

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

 

原文地址:https://www.cnblogs.com/superdo/p/4625483.html