1. 创建
创建目录
p is PosixPath('../tmp/a')
p = p / 'c'
os.mkdir(p)
p.mkdir()创建文件
p.touch()
2. 修改
修改文件权限
os.chmod('test',0o777)
os.chmod(p,0o777)
p is pathlib.PosixPath修改文件属主和属组
os.chown('test',uid,gid)
3. 复制
复制(copy) 导入 shutil 库:
import shutil
仅仅复制文件
copyfile(src,dst,*,follow_symlinks=True)仅仅复制权限
copymode(src,dst,*,follow_symlinks=True)复制元数据,包含权限
copystat(src,dst,*,follow_symlinks=True)复制文件内容,部分元数据,不包括创建时间和修改时间
copy复制文件内容,全部元数据。常用
copy2递归复制目录,默认使用copy2。
copytree(src,dst,symlinks=False,ignore=None,copy_function=copy2,ignore_dangling_symlinks=False)
src和dst必须是目录,src必须存在,dst必须不存在
ignore = func 提供一个callable,忽略。
4. 删除
删除文件
os.remove()递归删除目录
shutil.rmtree(path,ignore_errors=False,onerroe=None)
ignore_errors=True 时候忽略错误,
同rm -rf 危险操作
5. 移动
移动或者重命名文件
shutil.move(src,dst,copy_function=copy2)
move 本身调用的是os.rename方法
shutil.move('../tmp/a/readme.txt','../tmp/')rename,重命名
p = Path('../tmp/a/readme.txt')
p1 = Path('../tmp/a/readme1111.txt')
os.rename(p,p1)
无返回
p = Path('../tmp/a/readme.txt')
p1 = Path('../tmp/a/readme1111.txt')
shutil.move(p1,p)
返回
move后的路径:PosixPath('../tmp/a/readme.txt')
更多欢迎访问:http://www.mykernel.cn/