本文主要介绍跟文件操作相关的模块。
创建目录 #p is PosixPath('../tmp/a') p = p / 'c' os.mkdir(p) p.mkdir()
创建文件 p.touch()
修改文件权限 os.chmod('test',0o777) os.chmod(p,0o777) p is pathlib.PosixPath
修改文件属主和属组 os.chown('test',uid,gid)
复制(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,忽略。
删除文件 os.remove()
递归删除目录 shutil.rmtree(path,ignore_errors=False,onerroe=None) ignore_errors=True 时候忽略错误, 同rm -rf 危险操作
移动或者重命名文件 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')
本文作者:mykernel
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!