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