pathlib管理路径和文件夹

路径对象的方法函数mkdir()可创建文件夹,比如要在当前路径下建一个叫作temp的文件夹,p是指向当前文件夹的路径对象。首先生成指向temp的路径对象p.joinpath(‘temp’),然后调用路径对象的方法函数mkdir()生成temp这个文件夹:

p.joinpath('temp').mkdir(mode=0o777, exist_ok=True)

mkdir()有三个可选参数:

  1. mode=0o777,是设定文件夹的权限,o777是八进制的数字。
  2. 第二个参数,parents = True 或 False,默认为False。假如temp文件夹的路径上有没建立的父文件夹,parents取值为True则这些父文件夹会被建立,比如:
p.joinpath(‘parentFold/temp’).mkdir(mode=0o777, parents=True)

假如文件夹parentFold不存在,parentFold会被先创建,而后才创建文件夹temp;如果没特别指定为parents=True,那么parentFold不存在时就会报错

  1. exist_ok=True,要建立的文件夹temp已经存在也不会报错,同样情况exist_ok=False时程序会报错。

接下来的代码先判断temp是否存在,存在的话删除已有的temp文件夹,建一个新temp文件夹。删除用shutil模块的rmtree(),删除temp文件夹以及temp文件夹下的所有文件和子文件夹: 

import shutil                 # Python内置的文件操作模块。

……

if temp.exists():             # 判断temp文件夹是否存在。

    shutil.rmtree(str(temp))

    # 若存在则删除temp文件夹,shutil.rmtree()只接受字符串做实参。temp是指向temp文件夹的对象,用str()转换成字符串做实参。 

temp.mkdir(0o777)             # 建立新的temp文件夹。

……