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