每一次都要在繁琐复杂的项目中,翻阅十几个文件夹,越过几十个干扰的xml文件选项,找到要修改的那一个FILE_DIR = 'D:\\Glodon-shuwei\\GBridge-2\\test\\Bin\\x64Release\\'FILE_NAME = 'hroad_behavior_config.xml'# 打开文件file = open(FILE_DIR + FILE_NAME, "r")lines = file.readlines();
# 读文件内容并替换对应字段temp_lines = []line_idx = 0have_gcmp_hourse = False # 是否添加调试框选项have_tip = 0 # 是否已经有提示信息for line in lines: temp_lines.append(line) if CONFIG_RECORD in line: if VALUE_TIP in line: have_tip = 1 temp_lines[line_idx] = line.replace(VALUE_TIP, VALUE_NO_TIP) elif VALUE_NO_TIP in line: have_tip = 2 temp_lines[line_idx] = line.replace(VALUE_NO_TIP, VALUE_TIP) if 'gcmp_InHourse' in line: have_gcmp_hourse = True line_idx += 1file.close()
# 生成临时文件并写入内容with open(FILE_DIR + FILE_NAME_TEMP, 'w') as temp_file: if have_gcmp_hourse == False: len_lines = len(temp_lines) temp_lines_new = temp_lines[: len_lines-1] + [GCMP_INHOURSE_CHARS] + temp_lines[len_lines-1 :] temp_file.writelines(temp_lines_new) else: temp_file.writelines(temp_lines) if have_tip == 0: len_lines = len(temp_lines) temp_lines_new = temp_lines[: len_lines-1] + [CONFIG_RECORD_CHARS] + temp_lines[len_lines-1 :] temp_file.writelines(temp_lines_new) print("========>> Open option <<========") elif have_tip == 1: print("========>> Close option <<========") elif have_tip == 2: print("========>> Open option <<========")temp_file.close()# 用临时文件替换掉老文件os.remove(FILE_DIR + FILE_NAME)os.rename(FILE_DIR + FILE_NAME_TEMP, FILE_DIR + FILE_NAME)print('========>> ChangeDebugState Success!!! <<========')
通过网盘分享的文件:Python解析xml并替换key对应的value字段.rar
链接: https://pan.baidu.com/s/1Tz_snGCJbiCePUHO-MCZCw?pwd=t5ae 提取码: t5ae