Python 读取文件/匹配字符串/用用户输入/写入文件替换部分字符串

Python 读取文件/匹配字符串/用用户输入/写入文件替换部分字符串,python,Python,阅读网络上的数百万资源,我感到困惑多于帮助,因为我相信有很多方法可以做我需要用py做的事情 所以我希望你们中的一些巨蟒大师能帮我一把 我需要做的是: 提示用户输入[输入] 打开一个html文件(简单,不太大) 搜索 替换http://website(与[INPUT]不同的字符串) 写入文件(与打开的文件相同) 现在,如果我理解正确,我应该在python中使用正则表达式,对吗 我的伪代码(对不起,我知道它看起来很糟糕)是: var = raw_input("Enter input: ") pr

阅读网络上的数百万资源,我感到困惑多于帮助,因为我相信有很多方法可以做我需要用py做的事情

所以我希望你们中的一些巨蟒大师能帮我一把

我需要做的是:

  • 提示用户输入[输入]
  • 打开一个html文件(简单,不太大)
  • 搜索
  • 替换
    http://website
    (与[INPUT]不同的字符串)
  • 写入文件(与打开的文件相同)
现在,如果我理解正确,我应该在python中使用正则表达式,对吗

我的伪代码(对不起,我知道它看起来很糟糕)是:

var = raw_input("Enter input: ")
print var, "will be the new site"

import re
o = open("test.html","w")
data = open("test.html").read()
o.write( re.sub("<a target="_top" href="(*)">Local website</a>",var,data) )
o.close()
var=raw\u输入(“输入:”)
打印变量“将成为新站点”
进口稀土
o=打开(“test.html”、“w”)
data=open(“test.html”).read()
o、 写入(re.sub(“,变量,数据))
o、 关闭()
上面的方法甚至可能不是最好的方法,但是它不需要regex部分,只需进行简单的匹配替换(匹配总是相同的)


你们有什么提示吗?

你们的代码看起来不错。我只是改变了一点。我不太清楚你的问题是什么,因为你的代码似乎是功能性的。希望有帮助:

import re

INFILE = 'test.html'
OUTFILE = 'replaced.html'

new_site_name = raw_input('Enter input: ')
print new_site_name, 'will be the new site.'

pattern = '<a .* href="(.+)">.+</a>'
replacement = '<a target="_top" href=%s>Local website</a>'  % new_site_name

with open(INFILE, 'r') as f:
    html_text = f.read()

with open(OUTFILE, 'w') as f:
    f.write(re.sub('<a .* href="(.+)">.+</a>', replacement, html_text))
重新导入
infle='test.html'
OUTFILE='replaced.html'
新建站点名称=原始输入(“输入输入:”)
打印新站点名称“将成为新站点”
模式=“”
替换=''%new\u站点\u名称
开放式(填充“r”)为f:
html_text=f.read()
打开(输出文件“w”)作为f:
f、 写入(关于sub(“”,替换,html_文本))

您的代码看起来相当不错。非常感谢Joel!与我的代码相比,您的代码看起来非常不同,所以我想我走错了方向,尤其是对于正则表达式部分。传奇,再次感谢!