基本的に、テキストファイルからテキストを読み取り、正規表現を使用してそれを別のものにサブし、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 は、「素早い茶色のキツネが怠惰な犬を飛び越える」というテキストを含む単なるテキスト ファイルです。私が達成したいのは、特定のマークアップ言語のテキストを検索し、それを HTML マークアップに置き換えることですが、ここではそれを単純化して、試して理解できるようにしています。
このコードを実行すると、理論的には「test」というタイトルとテキストを含む example.html という html ファイルが作成されるはずですが、そうではありません。私は正規表現に慣れておらず、彼らは私を夢中にさせています。正規表現「サブ」で何をすべきか誰か提案してもらえますか?
編集:コードはエラーを生成しませんが、出力 HTML ファイルには置換テキストがありません。そのため、サブは外部テキスト ファイルを検索していますが、それを出力 HTML ファイルに入れていません。