[英]How can I replace string with another string in a gzip file by using python?
I am trying to find the specific string in gzip, replace it with another string and update the gzip file. 我正在尝试在gzip中找到特定的字符串,将其替换为另一个字符串并更新gzip文件。
Here is my python script. 这是我的python脚本。
import gzip
import string
lines = gzip.open("PhoneWindowManager.java.gz", "rb")
definition = "name="+'"setHdmiPlugged"'+"/>"
print definition
for line in lines:
if definition in line:
before = ">"+"setHdmiPlugged"+"</a>"
print before
after = " title="+'"Join"'+"><font color="+'"red"'">"+"setHdmiPlugged"+"</font></a>"
print after
new_str = string.replace(line, before, after)
print new_str
**** How can I update the gzip file with the new_str? ****
break
How can I replace the specific string and write it? 如何替换特定的字符串并将其写入?
Actually I want to update the html tag of method definition with hyperlink title and red color 其实我想用超链接标题和红色更新方法定义的html标签
Before 之前
<a class="l" name="5132" href="#5132">5132</a> <b>void</b> <a class="xmt" name="setHdmiPlugged"/><a href="/source/s?refs=setHdmiPlugged&project=android" class="xmt">setHdmiPlugged</a>(<b>boolean</b> <a class="xa" name="plugged"/><a href="/source/s?refs=plugged&project=android" class="xa">plugged</a>) {
After 后
<a class="l" name="5132" href="#5132">5132</a> <b>void</b> <a class="xmt" name="setHdmiPlugged"/><a href="/source/s?refs=setHdmiPlugged&project=android" class="xmt" title="Test"><font color="red">setHdmiPlugged</font></a>(<b>boolean</b> <a class="xa" name="plugged"/><a href="/source/s?refs=plugged&project=android" class="xa">plugged</a>) {
EDIT 编辑
I completed this code. 我完成了这段代码。 Please refer to the below code if you needed.
如果需要,请参考以下代码。
import gzip
import string
import os
os.rename("PhoneWindowManager.java.gz","PhoneWindowManager_orig.java.gz")
input = gzip.open("PhoneWindowManager_orig.java.gz", "rb")
output = gzip.open("PhoneWindowManager.java.gz", "wb")
definition = "name="+'"setHdmiPlugged"'+"/>"
for line in input:
if definition in line:
before = ">"+"setHdmiPlugged"+"</a>"
after = " title="+'"Join"'+"><font color="+'"red"'">"+"setHdmiPlugged"+"</font></a>"
new_str = string.replace(line, before, after)
output.write(new_str)
else:
output.write(line)
input.close()
output.close()
This is one way to replace a specific string : 这是替换特定字符串的一种方法:
a = 'string 1'
b = 'string 2'
a = a.replace(a,b)
When you print a
the output is: 当您打印
a
输出为:
string 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.