zoukankan      html  css  js  c++  java
  • python 文件综合操作

    “‘

    目的:综合文件操作相关属性设计示例

    示例说明:本示例主要目的是将给定目录下所有满足条件的文件进行压缩,并且以当前时间为名称,如果已经存在,则继续压缩到之前目录,如果不存在,则以当前时间为名称

    作者:琦琦爸爸

    ’”

    #coding:utf-8

    import datetime

    import os

    import zipfile

    #按现在时间为压缩文件取名

    def make_name():

      #获取当前时间,包括年月日时分秒

      i=str(datatime.datatime.now())

      #取前面的年月日

      name=i.split(' ')[0]

      #将年月日加上后缀名称

      name=name+'.zip'

      #返回文件名称,为后面调用铺垫

      return name

    def dabao():

      #判断给定的文件路径是否是目录或者是文件

      if not os.path.isdir(path) and not os.path.isfile(path):

        return False

      #判断文件是否是目录,如果是,则执行下面代码

      if os.path.isfile(paht)

        #区分目录路径和文件路径

        f=os.path.split(path)

        #重组目录路径和文件名

        path=f[0]+'/'+f[1]

        #获取文件后缀名

        file_end=f[1].split('.')[-1]

        #定义哪些后缀名需要打包压缩的

        wenjianhouzui=['txt','log']

        #循环查找哪些文件满足条件

        if file_end in wenjianhouzui:

          dir_mulu=f[0]+'/'+make_name()

            判断压缩的文件名是否存在,如果不存在,就以“w”的方式写入(其实可以只保留下面的方式,但为了了解w和a的区别,故多用了一个判断)

            if not os.path.exists(dir_mulu):

              f=zipfile.Zipfile(dir_mulu,'w')

              f.write(path)

              f.close()

              #删除已经打包的文件

              os.remove(path)

            else:

              dir_mulu=f[0]+'/'+make_name()

              #这里的“a”是追加执行。如果改成“w”,则只会压缩最后一次压缩的文件,之前的会被删除

              f=zipfile.Zipfile(dir_mulu,'a')

              f.write(path)

              f.close()

              os.remove(path)

        #判断给定的目录是否是目录,如果是执行下面的代码

        if os.path.isdir(path):

          #列出目录下的所有的文件名,并且遍历所有的文件

          for x in os.listdir(path):

            #组装目录名和文件名

            name=os.path.join(path,x)

            #将组装好的名字传递给函数dabao去执行

            dabao(name)

    #给定一个需要压缩的文件路径

    dir="D: est"

    #将“”转化为“/”,不然会出错

    dir=dir.replace("\",'/')

    dabao(dir)

        

              

  • 相关阅读:
    mysql 慢查询分析工具
    php+redis实现消息队列
    Mysql数据库千万级数据查询优化方案.....
    windows下安装docker详细步骤
    Git基础使用教程
    redis实现消息队列&发布/订阅模式使用
    macos上改变输入法顺序
    ssh动态转发小记
    ubuntu上runsv/runit小记
    使用libcurl下载https地址的文件
  • 原文地址:https://www.cnblogs.com/czb529514/p/6816435.html
Copyright © 2011-2022 走看看