zoukankan      html  css  js  c++  java
  • [python]目录及文件操作

    Python OS模块和shutil模块

    • 获取路径
    # 获取当前路径
    pwd = os.getcwd()
    
    # 获取上级路径
    a_pwd = os.path.abspath(os.path.dirname(os.getcwd()))
    a_pwd = os.path.abspath(os.path.join(os.getcwd(), '..'))
    
    # 获取上上级路径
    aa_pwd = os.path.abspath(os.path.join(os.getcwd(), '../..'))
    

      

    • 路径拼接
    path = os.path.join('aa/bb', 'cc/dd.*')
    

      

    • (递归)创建文件夹
    # 创建文件夹
    os.mkdir('aa')
    # 递归创建文件夹
    os.makedirs('aa/bb/cc')
    

      

    • 判断路径是否存在
    os.path.exists('aa')
    

      

    • 路径切割
    # 获取文件名
    fpath, fullname = os.path.split('aa/bb/cc.*')
    # fpath: aa/bb  fullname: cc.*
    
    # 获取文件后缀
    apath, ext = os.path.splitext('aa/bb/cc.*')
    # apth: aa/bb/cc  fullname: *
    

      

    • 遍历目录下所有相关文件
    fs = []
    def gci(filepath):
        # 遍历filepath下所有文件,包括子目录
        files = os.listdir(filepath)
        for fi in files:
            fi_d = os.path.join(filepath, fi)
            if os.path.isdir(fi_d):
                gci(fi_d)
            else:
                fname, ext = os.path.splitext(fi)
                if ext == '.*':
                    fs.append(os.path.join(filepath, fi_d))
    

      

    • 文件复制
    # 复制文件和权限
    shutil.copy('src_path', 'new_path')
    

      

  • 相关阅读:
    函数进阶-生成器
    函数进阶-列表生成式
    闭包
    命名空间
    内置方法
    函数
    squid清除缓存
    subprocess实现管道
    Python统计脚本行数(fileinput)
    fabric note
  • 原文地址:https://www.cnblogs.com/ttkl/p/10767290.html
Copyright © 2011-2022 走看看