0

基本的に、テキストファイルからテキストを読み取り、正規表現を使用してそれを別のものにサブし、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 ファイルに入れていません。

4

1 に答える 1

1

の結果を保存することはありませんsub()。交換

sub('[a-z]+', 'test', file_contents)

これとともに

file_contents = sub('[a-z]+', 'test', file_contents)
于 2013-05-20T19:12:54.750 に答える