基本上我正在尝试从文本文件中读取文本,使用正则表达式将其子转换为其他内容,然后将其写入 html 文件。
这是我所拥有的一个片段:
from re import sub
def markup():
##sub code here
sub('[a-z]+', 'test', file_contents)
问题似乎与该子行有关。下面的代码(同一函数的一部分)需要使用子文本创建一个 html 文件。
## write the HTML file
opfile = open(output_file, 'w')
opfile.write('<html>\n')
opfile.write('<head>\n')
opfile.write('<title>')
opfile.write(file_title)
opfile.write('</title>\n')
opfile.write('</head>\n')
opfile.write('<body>\n')
opfile.write(file_contents)
opfile.write('</body>\n')
opfile.write('</html>')
opfile.close()
这里的功能是设计的,所以我可以从多个文件中取出文本。在调用标记函数后,我可以复制 file_contents 之后的所有内容,除了括号中的内容,我将用其他文件的名称替换它们。
def content_func():
global file_contents
global file_title
global output_file
file_contents = open('example.txt', 'U').read()
file_title = ('example')
output_file = ('example.html')
markup()
content_func()
Example.txt 只是一个文本文件,其中包含文本“the quick brown fox jumps over the lazy dog”。我希望实现的是搜索特定标记语言的文本并将其替换为 HTML 标记,但我在这里对其进行了简化以帮助我尝试找出答案。
运行此代码理论上应该创建一个名为 example.html 的 html 文件,其标题和文本为“test”,但事实并非如此。我不熟悉正则表达式,它们让我发疯。谁能建议我应该如何处理正则表达式“sub”?
编辑:代码不会产生任何错误,但输出 HTML 文件缺少任何替代文本。所以 sub 正在搜索外部文本文件,但没有将其放入输出 HTML 文件中。