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

嘉兴网站建设咨询文化建设的重要性

嘉兴网站建设咨询,文化建设的重要性,wordpress 音频,网站建设phpcms【python技巧】替换文件中的某几行 1. 背景描述2. 单行修改-操作步骤3. 多行修改-操作步骤 1. 背景描述 最近在写一个后端项目#xff0c;主要的操作就是根据用户的前端数据#xff0c;在后端打开项目中的代码文件#xff0c;修改对应位置的参数#xff0c;因为在目前的后… 【python技巧】替换文件中的某几行 1. 背景描述2. 单行修改-操作步骤3. 多行修改-操作步骤 1. 背景描述 最近在写一个后端项目主要的操作就是根据用户的前端数据在后端打开项目中的代码文件修改对应位置的参数因为在目前的后端项目中经常使用这个操作所以简单总结一下。 1. 文件路径./test.c 2. 文件内容 …… case EPA:chan_desc-nb_taps 7;chan_desc-Td .410;chan_desc-channel_length (int) (2*chan_desc-sampling_rate*chan_desc-Td 1 2/(M_PI*M_PI)*log(4*M_PI*chan_desc-sampling_rate*chan_desc-Td));sum_amps 0;chan_desc-amps (double *) malloc(chan_desc-nb_taps*sizeof(double));chan_desc-free_flagschan_desc-free_flags|CHANMODEL_FREE_AMPS ;for (i 0; ichan_desc-nb_taps; i) {chan_desc-amps[i] pow(10,.1*epa_amps_dB[i]);sum_amps chan_desc-amps[i];}for (i 0; ichan_desc-nb_taps; i)chan_desc-amps[i] / sum_amps;chan_desc-delays epa_delays;chan_desc-ricean_factor 1;//待修改位置chan_desc-aoa 0;//待修改位置chan_desc-random_aoa 0;//待修改位置chan_desc-ch (struct complexd **) malloc(nb_tx*nb_rx*sizeof(struct complexd *));chan_desc-chF (struct complexd **) malloc(nb_tx*nb_rx*sizeof(struct complexd *));chan_desc-a (struct complexd **) malloc(chan_desc-nb_taps*sizeof(struct complexd *)); ……2. 单行修改-操作步骤 读取文件 使用python中的open()函数进行文件读取将数据存储在缓冲区。 #1. 读取文件 path./test.c with open(path, r) as file:file_content file.read()查找文件替换位置 以查找chan_desc-ricean_factor 1;//待修改位置为例查找这句话的起点和终点。 ## 注此步骤需要import re #2. 查找文件替换位置 start_indexfile_content.find(chan_desc-ricean_factor )#起点 end_indexfile_content.find(chan_desc-aoa ,start_index)#终点 if end_index-1 or start_index-1:print(未找到待修改位置) #此时得到的两个指针分别指向了待修改位置的起点和终点如下图所示设置替换文件内容 假设目前只修改这一行的参数 #3. 设置替换文件内容 ricean_factor3#假设这是要修改的参数信息 updata_contentfile_content[:start_index]#获取这行代码之前的内容 update_contentchan_desc-ricean_factor str(ricean_factor);//待修改位置#修改这行代码 update_contentfile_content[end_index:]#获取这行代码之后的内容 #此时得到的update_content就是修改后的完整文件内容只修改了ricean_factor这一行的值写入文件 同样使用python中的open函数。 #4. 写入文件 if update_content!:#如果修改内容不为空with open(path, w) as file:#w表示覆盖写入之前的内容都会被覆盖file.write(update_content)总代码 整体的代码如下所示 import re #1. 读取文件 path./test.c with open(path, r) as file:file_content file.read() #2. 查找文件替换位置 start_indexfile_content.find(chan_desc-ricean_factor )#起点 end_indexfile_content.find(chan_desc-aoa ,start_index)#终点 if end_index-1 or start_index-1:print(未找到待修改位置) #3. 设置替换文件内容 ricean_factor3#假设这是要修改的参数信息 updata_contentfile_content[:start_index]#获取这行代码之前的内容 update_contentchan_desc-ricean_factor str(ricean_factor);//待修改位置#修改这行代码 update_contentfile_content[end_index:]#获取这行代码之后的内容 #4. 写入文件 if update_content!:#如果修改内容不为空with open(path, w) as file:#w表示覆盖写入之前的内容都会被覆盖file.write(update_content)3. 多行修改-操作步骤 多行修改思路 多行修改有两种修改思路如果修改部分比较集中则可直接替换一整块的字符串内容如果修改部分较为分散则需要单独查找修改位置然后再分别进行替换。多行修改-整块替换 try:with open(file_path, r) as file:file_content file.read() except Exception as e:return str(e) # 设置改写内容 updated_content # 查找修改 start_index_1 file_content.find(start_sentence)#要确保查找元素的唯一性 end_index_1 file_content.find(end_sentence,start_index_1,) if start_index_1 -1 or end_index_1 -1:print(未找到待修改位置)return -1# updated_content file_content[:start_index_1]#获取这行代码之前的内容updated_content start_sentence和end_sentence之间的sentence_1;\nupdated_content start_sentence和end_sentence之间的sentence_2;\nupdated_content file_content[end_index_1:]##此时updated_content就是修改后的完整文件内容if updated_content ! :with open(file_path, w) as file:file.write(updated_content) else:print(修改失败)return -1多行修改-局部替换 try:with open(file_path, r) as file:file_content file.read() except Exception as e:return str(e) # 设置改写内容 updated_content # 查找修改 start_index_1 file_content.find(start_sentence_1)#要确保查找元素的唯一性 end_index_1 file_content.find(end_sentence_1,start_index_1,) start_index_2 file_content.find(start_sentence_2,end_index_1) end_index_2 file_content.find(end_sentence_2,start_index_2,) start_index_3 file_content.find(start_sentence_3,end_index_2) end_index_3 file_content.find(end_sentence_3,start_index_3,) start_index_4 file_content.find(start_sentence_4,end_index_3) end_index_4 file_content.find(end_sentence_4,start_index_4,)if (start_index_1 -1or end_index_1 -1or start_index_2 -1or end_index_2 -1or start_index_3 -1or end_index_3 -1or start_index_4 -1or end_index_4 -1):print(未找到待修改位置)return -1# updated_content file_content[:start_index_1]#获取这行代码之前的内容updated_content start_sentence_1和end_sentence_1之间的内容updated_content file_content[end_index_1:start_index_2]updated_content start_sentence_2和end_sentence_2之间的内容updated_content file_content[end_index_2:start_index_3]updated_content start_sentence_3和end_sentence_3之间的内容updated_content file_content[end_index_3:start_index_4]updated_content start_sentence_4和end_sentence_4之间的内容updated_content file_content[end_index_4:]##此时updated_content就是修改后的完整文件内容if updated_content ! :with open(file_path, w) as file:file.write(updated_content) else:print(修改失败)return -1
http://www.hkea.cn/news/14423194/

相关文章:

  • 给网站做台州建设局网站建筑工程黑名单
  • 网站建设服务预算wordpress小工具代码
  • 建设一个中英文双版的网站产品展示小程序
  • 基于C 的网站开发源码做谷歌seo要发大量文章吗
  • 普通网站怎么做h5美容手机网站模板
  • 基金网站制作php怎么做全网小视频网站
  • 济南行知网站建设有限公司怎么样阿里巴巴开店网站怎么做
  • 石家庄桥西网站制作公司广告设计公司产品
  • 百度竞价推广开户多少钱重庆优化网站排名
  • 东昌府做网站推广温州网凝科技有限公司
  • 洛阳做网站找哪家好张家港网站建设哪家好
  • 一个完整的网站建设网络架构师证书
  • 网站建设岗位职责怎么写购买一个域名能建几个网站
  • 网站开发管理学什么厦门建设局刘以汉
  • 什么是商业网站怎么用ps做购物网站
  • 郑州的做网站公司有哪些网站开发技术文档包含
  • html5网站多少钱网站开发及维护费用
  • 泰安网络网站40个超好玩的网页小游戏
  • 百度seo整站优化微信公众号平台手机端
  • 唐山网站公司建站浅蓝色.net企业网站源码带后台
  • 电脑网站开发学习有哪些做搞笑视频的网站
  • wordpress chinese-username插件seo主要是指优化
  • 网站下载软件入口网站开发培训费多少
  • 深圳做企业网站哪家好房地产销售营销方案
  • 网站备案表不会写辽宁网络推广
  • 网站哪个公司做的好佛山网站开发
  • 仿163源码商城网网站模板交易平台源码整站打包昆明建设招投标网站
  • 海口智能建站价格垡头网站建设
  • 建设工程教育网app下载太原网站优化价格
  • 知名企业门户网站建设服务公司怎么拥有自己的小程序