動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04.4 LTS desktop amd64
TensorFlow v1.7.0
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)
ADDA v.1.3b6
gnustep-gui-runtime v0.24.0-3.1
PyMieScatt v1.7.0
GNU grep 2.25
関連
処理概要
- テキストをファイルから読込む
- htmlタグで特定の文字に色付けして標準出力
- (今回) 実行時引数で色付けキーワードの指定
Pythonの復習もかねて実装。
参考
v0.2
code v0.2
colorText_180707.py
import re
import sys
'''
v0.2 Jul. 08, 2018
- read command-line arguments
v0.1 Jul. 07, 2018
- add color html tag for a fixed text ('opt')
'''
# on Python 3.5.2
args = sys.argv
if len(args) < 2:
print('Error: keyword is not specified')
print('[cmd] [keyword]')
sys.exit()
SRC_FILE = 'in_180707.txt'
col_text = args[1]
inRed = '<font color=red>' + col_text + '</font>'
with open(SRC_FILE) as fd:
lines = fd.readlines()
for aline in lines:
wrk = aline.replace(col_text, inRed)
print(wrk, end='')
使用例
$ python3 colorText_180707.py
Error: keyword is not specified
[cmd] [keyword]
$ python3 colorText_180707.py used
This opt is <font color=red>used</font> as a option.
opt.list=1
suboption is also specified so that...
htmlとして閲覧すると下記となる。
This opt is used as a option.
opt.list=1
suboption is also specified so that...
Google Chromeでの表示
$ python3 colorText_180707.py used > tmp.html
$ google-chrome tmp.html
改行がなくなった。
htmlと解釈されるため、<CR>
と<LF>
では改行されなくなる。
v0.3
改行用の<BR>
を追加。
code v0.3
colorText_180707.py
import re
import sys
'''
v0.3 Jul. 08, 2018
- add <BR> for each new line
v0.2 Jul. 08, 2018
- read command-line arguments
v0.1 Jul. 07, 2018
- add color html tag for a fixed text ('opt')
'''
# on Python 3.5.2
args = sys.argv
if len(args) < 2:
print('Error: keyword is not specified')
print('[cmd] [keyword]')
sys.exit()
SRC_FILE = 'in_180707.txt'
col_text = args[1]
inRed = '<font color=red>' + col_text + '</font>'
with open(SRC_FILE) as fd:
lines = fd.readlines()
for aline in lines:
wrk = aline.replace(col_text, inRed)
print(wrk, end='<BR>')
$ python3 colorText_180707.py opt > tmp.html
$ google-chrome tmp.html
Chromeで色付きで見ることができるようになった(上記実行結果ではin_180707.txt
にgrep検索した結果を保存)。
v0.4
@shiracamus さんのコメントに基づき、color指定の部分を訂正しました。
情報感謝です。
colorText_180707.py
import re
import sys
'''
v0.4 Jul. 08, 2018
- fix bug > color attribute without double quotation
v0.3 Jul. 08, 2018
- add <BR> for each new line
v0.2 Jul. 08, 2018
- read command-line arguments
v0.1 Jul. 07, 2018
- add color html tag for a fixed text ('opt')
'''
# on Python 3.5.2
args = sys.argv
if len(args) < 2:
print('Error: keyword is not specified')
print('[cmd] [keyword]')
sys.exit()
SRC_FILE = 'in_180707.txt'
col_text = args[1]
inRed = '<font color="red">' + col_text + '</font>'
with open(SRC_FILE) as fd:
lines = fd.readlines()
for aline in lines:
wrk = aline.replace(col_text, inRed)
print(wrk, end='<BR>')