第十三章 python文件以及目录操作

>>>
    掌握如何创建,打开和关闭文件
    掌握如何写入和读取文件的内容
    了解os和os.path模块
    掌握如何创建和删除目录
    掌握如何判断文件目录是事存在的方法
    掌握如何遍历目录
    掌握如何删除,重命名文件
    掌握获取文件基本信息的方法    


12.1 基本文件操作
    
    13.1.1 创建和打开文件
        file = open(filename, made, [encoding='utf-8'])   # []表示可选
            # made 有:
                //默认为t(文本模式)
                r, rb, r+, rb+,    
                w, wb, w+, wb+,
                a, ab, a+, ab+,
                // r(只读) w(读写) a(追加) b(二进制) +(更新文件,并将文件指针放到开始位置)
    13.1.2 关闭文件
        file.close();
    
    13.1.3 找天文件时使用with语句
        with expression as filename        # filename = expression;
            pass
        这样做的好处,是为了打开文件失败,with 会直接关闭流。不支出现IO流错误
    
        
    13.1.4 写入文件内容
        要求模式为:w,a,w+,a+
        file.write(str)
        file.writelines(str)
    
    13.1.5 读取文件
        要求模式为:r,r+
            
        a, 读取指定字符

            file.read([size])        # size 可选, 表示,读取多少个字符,默认读取所有    
            file.seek(offset, [whence])    # offset,表示文件指针,移动几个字符
                            # whence,0表示从头计算,1,从当前位置计算
        b, 读取一行
            当文件很大时,就需要一行一行的读取了
        
            file.readline()
            
        c, 读取所有行
            file.readlines()        # 返回的是一行一行列表
            


13.2 目录操作
    
    13.2.1 os和os.path模块
        import os
        os.name                    # 获取当前操作系统的类型
        os.linesep                # 获取当前系统的换行符    
        os.sep                    # 获取路径分隔符

        os,os.path模块还提供了一些操作目录的函数,具体百度
    
    13.2.2 路径
        a, 相对路径
            os.getcwd()            # 当前工作文件的绝对文件夹
        b, 绝对路径
            os.path.abspath(path)        # 获取path的绝对路径
        c, 拼接路径
            os.path.join(str1, str2, ....)    # 就是拼接字符串
            # 如果全是绝对路径,取最后一个字符串

    13.2.3 判断目录是否存在

        a, os.path.exists(path)            # 可以判断目录和文件存在不
                            # 返回值是true/false
    13.2.4 创建目录
        
        a, 创建一级目录
            os.mkdir(path, [mode=0o777])      # 可选,表示指定数值模式,非unix系统无效
            if os.path.exists(path):    # 创建一级目录的通用方法
                os.mkdir(path)
            
            多级目录的创建方法;
                import os
                def mkdir(path):
                    if not os.path.isdir(path):         # 表示是否存在
                                mkdir(os.path.split(path)[0])
                        os.mkdir(path)
                    else:
                           print('false')
                    mkdir(r"c:/py/abc/abcd/abcde")
            
        b, 创建多级目录
            os.makedirs(path, mode==0o777)        # 同上

    13.2.5 删除目录
        os.rmdir(path)
        if os.path.exists(path):    # 删除目录的通用方法
            os.rmdir(path)
    
    13.2.6 遍历目录
        os.walk(path, [topdown], [onerror], [followlinks])
        # topdown,表示遍历顺序, 默认true,自顶而下
        # 返回值为3个元素元组的生成器,(遍历目录所有文件)
        # 示例代码如下
        
        import os
        tuples = os.walk(r"C:\PY\dirs")
        for root,dirs,file in tuples:
            flag = len(root)* ' '
            print(root)
            for name in dirs:
                print(flag,"dir:",name)
            for name in file:
                print(flag,"fil:",  name)
        
13.3 高级文件操作

    access(path, accessmode)         # 获取文件是否有指定的访问权限(读取/写入/执行)
                        # R_OK,W_OK,X_OK/F_OK,与权限,一一对应
    chmod(path, mode)            # 修改指定文件的访问权限

    
    13.3.1 删除文件
        os.remove(path)
        
        if os.path.exists(path):
            os.remove(path)
        
    
    13.3.2 重命名文件和目录
        os.remove(src, dst)        # 源文件路径,改名后的路径
        
    13.3.3 获取文件基本信息
        os.stat(path)            # 返回的值,需要格式化
    
        string = os.stat(path)
        string.st_size            # 默认单位字节
        string.atime            # 最后一次访问时间
        
        为上面这个函数格式化时间
        def formatTime(longTime)    
            import time
            return time.strftime('%y-%m-%d %H:%M:%S', time.localtime(longtie)

发布了76 篇原创文章 · 获赞 0 · 访问量 7163

猜你喜欢

转载自blog.csdn.net/julicliy/article/details/104092892