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

更多欢迎访问:http://www.mykernel.cn/

你可能感兴趣的:(python的文件操作3)