当前位置: 首页 > news >正文

自治区住房和城乡建设部网站嘉峪关市建设局网站

自治区住房和城乡建设部网站,嘉峪关市建设局网站,免费ppt模板app有哪些,网页版微信二维码传送助手没辙,就是懒 最近在调整.clang-format,这个format文件要跟着项目走,只换本地默认的还不够。调整好以后一个项目一个项目的换,有时候会漏掉,索性全盘一次性换完。 基于自己操作的流程,写了个脚本&#xff0…

没辙,就是懒

最近在调整.clang-format,这个format文件要跟着项目走,只换本地默认的还不够。调整好以后一个项目一个项目的换,有时候会漏掉,索性全盘一次性换完。
基于自己操作的流程,写了个脚本,备忘的同时分享一下
用法:

def print_usage():usage = """使用方法:python UpdateAllFile.py 需要替换的文件名 搜索用正则表达式 过滤关键字记录的文件路径在当前路径下找到需要替换的新文件根据everything搜索用的正则表达式在全盘搜索根据过滤关键字记录的文件里面的记录过滤出来需要被替换的文件用当前路径下的新文件替换需要被替换的文件,如果被替换的文件是只读会先改为可读写"""print(usage)

准备1

安装everything

准备2

下载 Everything 命令行接口:es.exe官网链接,exe所在路径下载解压加入path

脚本

import pandas as pd
import os
import shutil
import sys
import subprocessdef load_filters(filter_file):"""从文件加载过滤路径关键字,返回关键字列表"""try:with open(filter_file, 'r') as f:return [line.strip() for line in f if line.strip()]except FileNotFoundError:return []def save_filters(filter_file, filters):"""将过滤路径关键字保存到文件"""with open(filter_file, 'w') as f:for filter_item in filters:f.write(filter_item + '\n')def main(target_src_file,targetfile_regx,filter_file):filters = load_filters(filter_file)  # 从文件加载过滤路径关键字# 通过everything查找所有.clang-format文件try:result = subprocess.run(['es.exe', '-r', targetfile_regx], capture_output=True, text=True, check=True)# 将输出按行分割,并去除空行formatfiles = [line for line in result.stdout.splitlines() if line.strip()]except subprocess.CalledProcessError as e:print(f"执行命令时出错: {e}")returnexcept Exception as e:print(f"发生未知错误: {e}")returnwhile True:# 过滤掉包含指定关键字的文件路径,也排除当前文件formatfiletargets = [file for file in formatfiles if not any(f in file for f in filters) and file != target_src_file]# 打印过滤后的文件列表print("以下是将要被替换的文件:")for file in formatfiletargets:print(file)# 确认confirmation = input("继续 -> 输入 'yes' 或直接按回车\n退出 -> 输入 'no'\n增加新的过滤关键字 -> 输入新的关键字 \n我要 : ")if confirmation.lower() == 'yes' or confirmation == '':breakelif confirmation.lower() == 'no':print("操作已取消。")returnelse:new_filter = confirmation.strip()filters.append(new_filter)print(f"已添加过滤关键字: {new_filter}")# 输出更新后的过滤关键字到文件save_filters(filter_file, filters)# 新文件路径new_file_path = target_src_file# 替换旧文件for formatfile in formatfiletargets:try:# 确保旧文件存在if os.path.exists(formatfile):# 检查旧文件的只读属性if not os.access(formatfile, os.W_OK):# 取消只读属性os.chmod(formatfile, 0o666)  # 设置为可读可写# 替换旧文件为新文件shutil.copy(new_file_path, formatfile)  # 用新文件替换旧文件print(f"已用新文件替换旧文件: {formatfile}")else:print(f"旧文件不存在: {formatfile}")except Exception as e:print(f"处理文件时出错: {e}")def check_pwd_for_file(targetfile):"""检查当前路径下是否存在targetfile文件,存在则返回文件路径,不存在则返回空字符串。"""current_path = os.getcwd()  clang_format_file = os.path.join(current_path, targetfile) if os.path.isfile(clang_format_file):  return clang_format_fileelse:return ""def print_usage():usage = """使用方法:python UpdateAllClangFormat.py 需要替换的文件名 搜索用正则表达式 过滤关键字记录的文件路径在当前路径下找到需要替换的新文件根据搜索用的正则表达式在全盘搜索根据过滤关键字记录的文件里面的记录过滤出来需要被替换的文件用当前路径下的新文件替换需要被替换的文件,如果被替换的文件是只读会先改为可读写"""print(usage)def get_filename_from_path(file_path):return os.path.basename(file_path)if __name__ == "__main__":para_from_cmd = False # 是否从命令行参数中获取参数targetfile = r'.clang-format' # 要查找的文件名targetfile_regx = r'^\.clang-format$' # 正则表达式:匹配要查找的文件名filter_file = r'D:\mybin\format.filter' # 过滤关键字文件if para_from_cmd :# 检查输入的参数if len(sys.argv) != 4 :print_usage()else:targetfile = sys.argv[1]targetfile_regx = sys.argv[1]filter_file = sys.argv[1]target_src_file = check_pwd_for_file(targetfile)if target_src_file != "":print(f"TargetFile          : \"{targetfile}\"")print(f"TargetFile regx str : \"{targetfile_regx}\"")print(f"File under PWD      : \"{target_src_file}\"")# 确认confirmation = input("请确认\n继续 -> 直接按回车\n退出 -> 输入 'no'或'n'\n我要 : ")if confirmation.lower() == 'no' or confirmation.lower() == 'n':print("操作已取消。")exit(0)main(target_src_file,targetfile_regx, filter_file)else:print(f"当前路径没找到{targetfile}")
http://www.yayakq.cn/news/938950/

相关文章:

  • 织梦php网站模板修改做国内打不开的网站吗
  • 怎么自己注册网站如何做好商务网站的运营怎么做
  • 河南汉狮做网站的公司微信公众号功能
  • 国内简洁大气网站推荐重庆网站seo
  • 一个网站多少钱?济宁三合一网站建设
  • 长沙个人做网站中企动力科技股份有限公司成都分公司
  • 科技网站备案wordpress用阿里云图床
  • 微网站的链接怎么做的wordpress 国内云
  • 做塑料哪个网站好wordpress excel导入
  • 软件开发培训课程咨询广州百度seo
  • 做网站后端要学什么网站百度权重没有数据
  • 专业网站设计建设wordpress 虚拟币
  • 网站建设 福田德州乐陵德州seo公司
  • 自我做t恤的网站南京酒店网站制作
  • 织梦网站首页宁波正规seo排名哪家好
  • 齐齐哈尔网站开发建网站要服务器
  • 如何发布一个网站建设专业网站平台
  • 成都网站建设工作室企业品牌策划与设计
  • 易站通这个网站怎么做河源定制网站建设推广
  • 商城网站建设是什么网站建设需要那些基础
  • 网站推广网站关键词排名怎么做微信手机网站开发
  • 网站建设合同范本-经过律师审核请人建网站
  • 高大模板相关信息圆柱钢模板优势是什么?企业网站建设模板和定制化有什么区别呢?支架检查重点?外币投资理财网站开发
  • 网站功能定制合同solaris.wordpress
  • 建设一个公司官网多少钱一键优化什么意思
  • 网站好坏怎么分析广西网站建设liluokj
  • 国内做网站比较好的公司房产建设网站
  • 上传网站程序后又怎么做网站群建设的意义
  • 网站平台建设及运营推广策划方案购物网站 设计
  • 全国十大网站建设公司哪家好网站开发实例视频