0%

python文件读写相关

shutil

  • 删除非空文件夹:
    1
    2
    3
    import shutil
    shutil.rmtree('')
    print('ok')
  • 其他操作
    1
    2
    3
    4
    5
    6
    7
    8
    9
    shutil.copyfile( src, dst)   #从源src复制到dst中去。 如果当前的dst已存在的话就会被覆盖掉
    shutil.move( src, dst) #移动文件或重命名
    shutil.copymode( src, dst) #只是会复制其权限其他的东西是不会被复制的
    shutil.copystat( src, dst) #复制权限、最后访问时间、最后修改时间
    shutil.copy( src, dst) #复制一个文件到一个文件或一个目录
    shutil.copy2( src, dst) #在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
    shutil.copy2( src, dst) #如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
    shutil.copytree( olddir, newdir, True/Flase) #把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
    shutil.rmtree( src ) #递归删除一个目录以及目录内的所有内容

os

  • 判定文件是否存在
    1
    2
    if os.path.exists(path): # 存在  
    if not os.path.exists(path): # 不存在
  • 创建新文件和新文件夹
    1
    2
    3
    os.mkdir(path)  # 单级新文件夹
    os.makedirs(path) # 多级文件夹
    with open(file, 'w) as f: # 打开和创建新文件
  • 删除文件和空文件夹
    1
    2
    3
    4
    import os
    os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除
    os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除
    os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。
  • 递归删除文件夹
    1
    2
    import os
    os.removedirs(path) # 递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。
    1
    2
    3
    4
    5
    6
    import os
    for root, dirs, files in os.walk(top, topdown=False):
    for name in files:
    os.remove(os.path.join(root, name))
    for name in dirs:
    os.rmdir(os.path.join(root, name))

打开文件的方式

  • open
    1
    2
    3
    4
    5
    6
    7
    a: 追加写
    r: 只读,默认
    r+:读写,覆盖
    w: 只写,覆盖
    w+: 读写,覆盖
    a: 追加
    a+:追加,可读写

其他操作

  • 改名文件or文件夹:
    • os.rename(‘name_old’, ‘name_new’)
  • 移动当前文件夹
    • os.chdir(‘path’)
  • 复制文件
    • os.copy(‘old_dir’, ‘new_dir_or_file’)
-------------这么快就看完啦^ω^谢谢阅读哟-------------