小程序【全局替换】解决办法

背景:python

①小程序目前没有全局替换;只有全局搜索json

②须要将界面中的 xxx改成yyy;小程序

叄:开发已经将近完成 近百个文件 app

因此.net

考虑到了python:code

https://blog.csdn.net/shenxian1021/article/details/81873845  原地址xml

原博主写的是相对路径 因此改为了全路径 而且遍历子目录 完成全局替换;blog

 

代码:utf-8

# coding=utf-8
import os
import io


def alter(file, old_str, new_str):
    """
    替换文件中的字符串
    :param file:文件全地址
    :param old_str:旧字符串
    :param new_str:新字符串
    :return:
    """
    file_data = ""
    # print('currentFile-->',file)
    with io.open(file, "r", encoding="utf-8") as f:
        for line in f:
            if old_str in line:
                line = line.replace(old_str, new_str)
            file_data += line
    with io.open(file, "w", encoding="utf-8") as f:
        f.write(file_data)


# 保存的全部文件全地址
allFile = []

# 获取目录下的文件
def file_name(file_dir):
    for root, dirs, files in os.walk(file_dir):
        for j in files:
            allFile.append(root + "\\" + j)
        # 遍历子文件夹
        for k in dirs:
            file_name(file_dir + '\\' + k)
        return allFile


# 获取后缀名
def file_extension(file):
    return os.path.splitext(file)[1]


# 目录
file_dir = 'D:\\WX_HYB\\huozhu\\pages'

# 目录下全部文件名称
file_list = file_name(file_dir)

for i in file_list:
    print(i)
    if file_extension(i) == ".json" or file_extension(i) == ".wxml" or file_extension(i) == ".js":
        alter(i, 'xxx', 'yyy')