2008年4月18日金曜日

Python のコードをHTMLに変換する

Python のソース、スクリプトファイル Something.py を Something.html に変換する。
当面不満な部分だけの変換です。まだまだ試してないことだらけです。

Python がインストールされているなら、この .py ファイルを目的のフォルダにコピーしてダブルクリック。Something.py のファイル名だけ Something を(拡張子なし)を入力すると同じファイル名の Something.html ファイルが出来ます。開くのが楽なように拡張子を .txt に変更するには、Extention3 を Extention2 に変更すると Something.txt ファイルになります。なんか大文字小文字を区別して無いようです。ちょっと便利です(苦笑
  1. 目的のファイル名をキーボードから取得します
  2. ファイル名.py のファイルを開き、シーケンス文字列に読み込みます
  3. 必要な変換、文字列の置き換えをします
  4. ついでにヘッダーとフッターも決めておきます
  5. ファイル名.html を開いて、ヘッダー、テキスト、フッターの順で書き込み閉じます
3.の部分が非常に恥ずかしいです。まだ、タプルとかライブラリとか、よく分かって無いんですよね。シーケンス文字列が書き換えできないことだけは、やっと分かりました。
不変性オブジェクト(棒読み)と言うらしいです。


いいんです!今やりたいことだけできれば! < 逆切れ


本気でやりたい人は、バイナリエディタ Stirlig とか使うと、みっちり勉強できます。Extention1 = '.c' とかも、試す値打ちがあるかも、かなり無責任ですけどね。

----- in progress、not fixed -------


## $Id$
## win32
## Python2.5

Extention1 = '.py'
Extention2 = '.txt'
Extention3 = '.html'

NameFile = raw_input('File name? > ')

FileSour = open( NameFile+ Extention1,'r')
TextIn = FileSour.read()
FileSour.close()

##print TextIn

TextOut4 = TextIn.replace(r'&',r'&')
TextOut3 = TextOut4.replace(r'>',r'>')
TextOut2 = TextOut3.replace(r'<',r'&lt;')
TextOut1 = TextOut2.expandtabs(4)
TextOut = TextOut1

HtmlHeader = r'<P><div class="verbatim"><pre>'
HtmlFooter = r'</pre></div>'

FileDest = open(NameFile+ Extention3, 'w')
FileDest.write( HtmlHeader+ '\n'+
TextOut+ '\n'+
HtmlFooter)
FileDest.close()


0 件のコメント: