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

os模块(1)


介绍

  • os模块是系统服务应用程序接口,是Python最常用的模块之一。
  • os模块包含了对文件和文件夹的操作操作系统相关的操作等。
  • 以及os.path模块,主要处理路径操作

os

常量

  • os.linesep 换行符,Unix为 \n ,Win32为 \r\n
  • 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')

 


 

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

本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4625483.html

 

 

 

你可能感兴趣的:(python)