python的文件操作3

1. 创建

  1. 创建目录 #p is PosixPath(‘../tmp/a’) p = p / ‘c’ os.mkdir(p) p.mkdir()

  2. 创建文件 p.touch()

2. 修改

  1. 修改文件权限 os.chmod(‘test’,0o777) os.chmod(p,0o777) p is pathlib.PosixPath

  2. 修改文件属主和属组 os.chown(‘test’,uid,gid)

3. 复制

复制(copy) 导入 shutil 库: import shutil

  1. 仅仅复制文件 copyfile(src,dst,*,follow_symlinks=True)

  2. 仅仅复制权限 copymode(src,dst,*,follow_symlinks=True)

  3. 复制元数据,包含权限 copystat(src,dst,*,follow_symlinks=True)

  4. 复制文件内容,部分元数据,不包括创建时间和修改时间 copy

  5. 复制文件内容,全部元数据。常用 copy2

  6. 递归复制目录,默认使用copy2。 copytree(src,dst,symlinks=False,ignore=None,copy_function=copy2,ignore_dangling_symlinks=False) src和dst必须是目录,src必须存在,dst必须不存在 ignore = func 提供一个callable,忽略。

4. 删除

  1. 删除文件 os.remove()

  2. 递归删除目录 shutil.rmtree(path,ignore_errors=False,onerroe=None) ignore_errors=True 时候忽略错误, 同rm -rf 危险操作

5. 移动

  1. 移动或者重命名文件 shutil.move(src,dst,copy_function=copy2) move 本身调用的是os.rename方法 shutil.move(‘../tmp/a/readme.txt’,’../tmp/‘)

  2. 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’)

赞 (0)