Python入门(二十六):文件模块(os模块与shutil模块)

点击跳转
《Python入门系列目录》



1. os模块

  • Python标准库中的一个用于访问操作系统的模块
  • 包含普遍的操作系统功能
  • 提供一个可移植的方法来使用操作系统的功能,使得程序能够跨平台使用
  • 查询操作系统
    • os.name函数
      • 获取操作系统名称
    • os.sep函数
      • 查询相应操作系统下文件路径的分隔符
    • os.linesep函数
      • 查询当前系统使用的行终止符
  • 查询工作路径
    • os.getcwd()
  • 查询指定目录下的文件
    • os.listdir()
      • 查询指定目录下的所有文件和文件名
  • 删除文件
    • os.remove()
      • 移除指定文件
    • os.mkdir()
      • 创建目录
    • os.rmdir()
      • 删除指定路径的文件夹,但这个文件夹必须是空的,不包含任何文件或子文件夹
  • 对文件路径的操作
    • 含有很多os.path相关函数,提供了相应的对文件路径的操作
函数功能
os.path.abspath(path)返回绝对路径
os.path.basename(path)返回文件名
os.path.dirname(path)返回文件路径
os.path.exists(path)路径存在则返回True,路径损坏返回False
os.path.isfile(path)判断路径是否为文件
os.path.isdir(path)判断路径是否为目录

2. shutil模块

  • Python自带的关于文件、文件夹、压缩文件的高层次的操作工具

  • 能够移动文件夹、压缩文件夹、删除文件夹等,但不能创建文件夹

  • 对os模块的补充

  • 移动文件或文件夹

    • shutil.move()

      • 将指定的文件或文件夹移动到目标路径下,返回值是移动后的文件绝对路径字符串。(把第一个参数移到第二个参数)
      import shutil
      
      str = shutil.move('/Users/csjjli/Desktop/python/chapter6/data.txt',
                        '/Users/csjjli/Desktop/python/chapter6/text_file')
      print(str)
      
      • 如果目标路径指向的文件夹中已经存在了同名文件,那么该文件将被重写
      • 如果目标路径指向一个具体的文件,那么指定的文件在移动后将被重命名
      import shutil
      
      str = shutil.move('/Users/csjjli/Desktop/python/chapter6/words.txt',
                        '/Users/csjjli/Desktop/python/chapter6/text_file/e_2.txt')
      print(str)
      
  • 复制文件

    • shutil.copyfile(src, dst)

      • 从src文件复制内容到dst文件
      • dst必须是完整的目标文件名
      • 返回值是复制后到文件绝对路径字符串
    • shutil.copy(src, dst)

      • 可以复制文件src到文件或目录dst
      import shutil
      
      shutil.copy('/Users/csjjli/Desktop/python/chapter6/tt.py',
                  '/Users/csjjli/Desktop/python/chapter6/text_file/')
      
  • 复制目录

    • shutil.copytree()

      • 用于目录复制,返回复制后到目录路径
    • 目标目录必须不存在,不能已有

      import shutil
      
      shutil.copytree('/Users/csjjli/Desktop/python/chapter6',
                      '/Users/csjjli/Desktop/text_file')
      
  • 永久删除文件和文件夹

    • shutil.rmtree()

      • 可以删除指定路径的文件夹,并且这个文件夹里面的所有文件和文件夹都会被删除
      import shutil
      
      shutil.rmtree('/Users/csjjli/Desktop/text_file')
      
  • 压缩与解压文件

    • shutil.make_archive()
    • shutil.unpack_archive()

    image

    import shutil
    
    shutil.make_archive('/Users/csjjli/Desktop/test', 'zip',
                        root_dir='/Users/csjjli/Desktop/text_f')
    
    import shutil
    
    shutil.unpack_archive('/Users/csjjli/Desktop/test.zip',
                          '/Users/csjjli/Desktop/test')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值