2017/06/15

ブログにソースコードを記載するのがちょっと面倒だったから

Bloggerに記事を書き始めて一か月ぐらいになるんですが、
実は面倒なことがありました。
「ソースコードの貼り付け」・・・
htmlタグをタグとして解釈されない形で書かないといけなかったからです。
具体的には<と>を&lt;と&gt;への書き換えです。

ごく最初は手作業。
次はwordで・・・(あほか!)
それで今回Pythonが扱えるようになってきたので、
今回はそれを処理として書いてみました。
それではコードです。

htmlcov.py


# -*- coding: utf-8 -*-

import os
import sys
import subprocess

args = sys.argv

TugStart='''
<table border="1" style="background-color: #010101;">
<tbody>
<tr><td>
<pre><code><span style="color: white;">'''

TugEnd='''
</span></code></pre>
</td></tr>
</tbody>
</table>
'''

if len(args) >1 :
        if os.path.isfile(args[1]):
                print "---fileopen " + args[1] + " ---"
                Command = "cat " + args[1]
                #シェルコマンドを実行
                CommandResult = subprocess.check_output(Command,shell=True )
                CommandResult = CommandResult.replace("<","&lt;")
                CommandResult = CommandResult.replace(">","&gt;")

                print TugStart + CommandResult +TugEnd
        else:
                print "対象ファイルが存在しません。"

else :
        print "対象ファイルが引数に指定されていません。"


実行するときには
python htmlcov.py [処理対象のファイル名]
と入力します。

MEMO

  • コマンドライン引数を使うには
    sysをインポートします。「.argv」でコマンドライン引数が配列として取得できます。
    取得された配列のインデックス0は実行対象自体、すなわちhtmlcov.pyが入ってくるので、
    処理対象のファイル名はインデックス1に入ってきます。
  • 文字列を置換するには
    「.replace([置換前文字列],[置換後文字列])」を使用する。

これを使用すればhtmlタグを見かけのタグに変換できます。
黒背景のtableタグで囲んでいるので、blogerのHTML直接編集に張り付ければ完成です。

ご参考まで

0 件のコメント:

コメントを投稿

AWSに手を出してフレームワークも使ってみたが・・・。

サイトを作り直しました。 AWS上に構築した Content created by AXY を作り直しました。 具体的にはbottle.pyを使ったpythonで構築したサイトからPHP7を使用したサイトに再構築しています。 特別何か問題点があったというわけで...