用python 替换文件中的git地址

有个需求要替换文件中git地址,要替换成的git地址是一个变量

本来想用sed替换但是git地址中有斜杠符号 需要转义,提前知道还好弄,如果是变量就不好处理了

#!/usr/bin/python3
# -*- coding: utf-8 -*-

#替换git地址
import os
git_url = os.environ.get(‘git_url‘)
git_old = os.environ.get(‘git_old‘)

f = open(‘/tmp/oc_export.json‘,‘w‘,encoding=‘utf-8‘)
f_bak = open(‘/tmp/oc_export.json.bak‘,‘r‘,encoding=‘utf-8‘)
for line in f_bak:
    line = line.replace(git_old,git_url)
    f.write(line)

原文地址:https://www.cnblogs.com/37yan/p/8932881.html

时间: 2024-11-08 03:03:36

用python 替换文件中的git地址的相关文章

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7

python把文件中的邮箱分类 保存到相应的文件里面

python把文件中的邮箱分类 保存到相应的文件里面(测试数据100W数据时间10秒) #coding:utf-8 import time import linecache def readfile(file):     #读取数据     list_dict = {}     file_data =  [ x.replace('\n','') for x in linecache.getlines(file) if '@' in x ]     #把后缀名组成字典中的keys,按照要求把文件中

Python工程文件中的名词解释---Module与Package的区别

当我们在已有的Python工程文件中创建新的内容是,通常会有两种类型文件供你选择---Module和Package,对于初学者来说会搞不清楚这两种文件直接的关系.这里就来解释一下这两者之间的关系. Module简介:  中文翻译成"模块",所谓的模块其实就是能够独立的完成一组任务的代码集.在Python里面Module一般就是一个独立的.py文件(有时候也可能是多个). Package简介:  中文翻译成"包",在Python中,Package就相当于多个Modul

替换文件中的某个内容

#定义要查找的包含某个关键字的行(该关键字不是要替换的内容,比如此处要替换的是行 Hostname=10.4.20.20 中等号后面的内容)$keyword = "Hostname"#定义要替换后的内容$newword = "10.4.20.20"$filepath = "C:\zabbix_agent\conf\zabbix_agentd.win.conf" Function SearchReplace ($keyword,$newword,$

Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案

1.问题:Python中同一个.py文件中同时用unittest框架和HtmlReport框架后,HtmlReport不被执行. 2.为什么?其实不是HtmlReport不被执行,也不是HtmlReport不生成测试报告,是因为if __name__ == '__main__'中的代码根本没执行好嘛! 3.解决方案的来源:因为最开始我的main代码中没有写print打印语句.没有生成HTML报告,我也在网上找了很久的方法,后来才怀疑是不是没有运行main方法,于是写了个print语句,果然没有运

python 之文本搜索与替换文件中的文本

1 #!/usr/local/env python 2 import os, sys 3 nargs = len(sys.argv) 4 if not 3 <= nargs <= 5: 5 print "usage: %s search_text replace_text [inputfiel [outputfile]] " % os.path.basename(sys.argv[0]) #友好交互性提示 6 else : 7 stext = sys.argv[1] #获取

python对文件中的关键词查找替换,实现自动获取配置

1.目的 想对update_variable.py文件中的配置进行修改,数据通过系统接口自动获取 update_variable.py my_name='null' my_age=18 2.代码 update_file.py # name=phyger # line='my name: {name}' # new=line.replace('{name}',name) # print(new) # cur_abspath=os.path.abspath(__file__) import os c

python 修改文件中的内容

在python的文件操作中,是没有办法对文件中具体某行或者某个位置的内容进行局部的修改的,如果需要对文件的某一行内容进行修改,可以先将文件中的所有的内容全部读取出来,再进行内容判断,是否是需要修改的内容,如果是就替换内容,并且将修改替换过的内容和没有修改的内容全部写入到新的文件中. # 打开旧文件 f = open('file_text.txt','r',encoding='utf-8') # 打开新文件 f_new = open('file_text_bak.txt','w',encoding