• [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

     

  • 相关阅读:
    2016.5.30实现透明Panel及控件置顶的方法
    2016.6.14自定义控件添加自定义事件
    2016.5.30让窗口处于最顶层的方法
    2016.5.23 用反射技术为实体类变量赋值、取值
    2016.4.6 WinForm显示PDF两种方法
    2016.3.7 Word2007编号设置
    2016.2.28 DataTable用法汇总
    2016.2.24 利用用户控件和委托完美解决快速选择txbbox
    2016.2.13 (年初六) oracle两张表update方法
    怎样用idhttpserver代替IIS让用户浏览html或下载文件 http://bbs.csdn.net/topics/360248674
  • 原文地址:https://www.cnblogs.com/superdo/p/4625483.html
Copyright © 2020-2023  润新知