小程序【全局替換】解決辦法

背景: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')