iOS - 使用Python脚本创建新文件并复制代码

2020-05-07  本文已影响0人  Linghit_iOS

Create by xinyuan 2020/05/06


一、脚本内容

5eb27a7b32f60.png
可以看到我们主要文件就是`command.sh`和`copy.py`
#!/bin/bash
echo '输入旧前缀'
read old_prefix
echo '输入新前缀'
read new_prefix
echo '输入新项目名称'
read new_project_name
python copy.py --old_prefix $old_prefix --new_prefix $new_prefix --new_project_name $new_project_name
#! /usr/bin/python
# -*- coding: UTF-8 -*-

import os
import string
import shutil
import sys
import time
import argparse

#忽略文件列表
ignore_file_list = [".DS_Store"]


def file_name(file_dir):

    for root, dirs, files in os.walk(file_dir):

        newRoot = root.replace("Old","New")
        os.mkdir(newRoot)
        for fileName in files:
            need_ignore = None
            for ignore_folder in ignore_file_list:
                if fileName == ignore_folder:
                    need_ignore = 1
                    break
            
            if need_ignore:
                continue
            
            filename = os.path.join(root, fileName)
            file_object = open(filename,'r')
            all_the_text = file_object.read( )
            newText = all_the_text.replace(old_prefix,new_prefix)
            arr = newText.split('\n')
            nowTime = time.strftime("%Y/%m/%d", time.localtime())
            created = "//  Created by copy on " + nowTime
            arr[4] = created;
            newProjectName = "//  " + new_project_name
            arr[2] = newProjectName;
                
            newTextss = '\n'.join(arr)
            newFileName = fileName.replace(old_prefix,new_prefix)
            newFile = os.path.join(newRoot, newFileName)
            fp = open(newFile,'w')
            fp.write(newTextss)
            fp.close()


def parse_args():
    global script_path, proj_ios_path
    parser = argparse.ArgumentParser(description='复制类修改前缀工具.\n')
    parser.add_argument('--old_prefix', dest='old_prefix', type=str, required=False, help='替换前类名前缀')
    parser.add_argument('--new_prefix', dest='new_prefix', type=str, required=False, help='替换后类名前缀')
    parser.add_argument('--new_project_name', dest='new_project_name', type=str, required=False, help='新项目名称')
    args = parser.parse_args()
    return args

def main():
    global old_prefix
    global new_prefix
    global new_project_name
    
    app_args = parse_args()
    old_prefix = app_args.old_prefix
    new_prefix = app_args.new_prefix
    new_project_name = app_args.new_project_name
    print "开始生成copy文件"
    filename = os.path.join(os.getcwd(), "New")
    del_list = os.listdir(filename)
    for f in del_list:
        file_path = os.path.join(filename, f)
        if os.path.isfile(filename):
            os.remove(filename)
        elif os.path.isdir(filename):
            shutil.rmtree(filename)

    target_folder = os.path.join(os.getcwd(), "Old")

    file_name(target_folder)

    print "生成copy文件成功"

if __name__ == "__main__":
    main()

二、操作步骤

sh command.sh 
5eb28096344e0.png
上一篇 下一篇

猜你喜欢

热点阅读