[python]目录及文件操作

时间:2021-09-15 06:11:23

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