zoukankan      html  css  js  c++  java
  • python脚本减化自己的工作量

    初学python,在项目中有时使用的是php,在升级的时候,由于是增量提交升级,每次都需要把要升级的文件按照相应文件夹方式放好,在线上直接覆盖整个文件夹就可以完成升级。

    这种情况,每次都需要把文件夹建立好,实在是很麻烦,就写了一段python程序来拷贝生成修改过的程序到新的文件夹,稍微减化一下工作。

    import os
    import shutil
    
    def copyFiles(srcDir, destDir):
        for file in os.listdir(srcDir):
            sourceFile = os.path.join(srcDir, file)
            destFile = os.path.join(destDir, file)
            if os.path.isfile(sourceFile):
                if not os.path.exists(destDir):
                    os.makedirs(destDir)
                shutil.copyfile(sourceFile, destFile)
            if os.path.isdir(sourceFile):
                copyFiles(sourceFile, destFile)
    #
    parent_path = "z:/works/your_directory/"
    
    #这里是需要手工添加的需要升级的文件
    paths = """xxx/yyy/zzzz/my1.php
    xxx/yyy/my2.php"""
    
    #将paths按\n分割,并去除前后空格,建立目录
    for path in paths.split("\n"):
        path = path.strip('\t')
        to_mk = os.path.dirname(path)
        #print to_mk
        if not os.path.isdir(to_mk):
            os.makedirs(to_mk)
    
    for path in paths.split("\n"):
        path = path.strip('\t')
        src = parent_path + path
        #文件直接复制
        if os.path.isdir(src):
            copyFiles(src,path)   
        #文件夹就递归复制
        elif os.path.isfile(src):
            shutil.copyfile(src,path)

    因为真正开始需要覆盖的目录是从xxx开始的,所以把父目录提取出来了,生成的结构也就是paths中定义的那样,直接覆盖线上。

    不过这个实现上比较简单,接下来的想法是想做成图形界面对于需要升级的文件打上勾就可以了,或是通过与git交互把需要升级的文件放到新文件夹中。

  • 相关阅读:
    Excel导入SQL数据库完整代码
    获取google地图经纬度
    设为首页、加入收藏 兼容代码
    破解电脑开机密码
    微软的面试题
    ashx文件中使用session
    MetaEdit、修改IIS链接人数限制
    男人戴戒指的意义
    .Net/C#中Cache的用法
    SharedPreferences用于存储数据
  • 原文地址:https://www.cnblogs.com/knockon/p/2736123.html
Copyright © 2011-2022 走看看