[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')

  

原文地址:https://www.cnblogs.com/ttkl/p/10767290.html