私はPythonで特定のファイルのディレクトリをスキャンし、特定のキーワードを見つけ出し、これらのキーワードが新しいファイルに現れる行を保存するためのスクリプトを書こうとしています。私はこれを思いついた。Pythonのテキスト解析とhtmlとしての保存
import sys, os, glob
for filename in glob.glob("./*.LOG"):
with open(filename) as logFile:
name = os.path.splitext(logFile.name)[0]
newLOG = open(name + '_ERROR!'+'.LOG', "w")
allLines = logFile.readlines()
logFile.close()
printList = []
for line in allLines:
if ('ERROR' in line) or ('error' in line):
printList.append(line)
for item in printList:
# print item
newLOG.write(item)
これはすべての良いですが、私は多分私はフォントを変更することができるように、私は権利タグ(HTML、ヘッド、ボディ...)でそれをすべてを包むhtmlとしてこの新しいファイルを保存する代わりに試してみようと思いましたキーワードの色。これまでのところ、このように見えます。
import sys, os, glob
for filename in glob.glob("./*.LOG"):
with open (filename) as logFile:
name = os.path.splitext(logFile.name)[0]
newLOG = open(name + '_ERROR!'+'.html', "w")
newLOG.write('<html>')
newLOG.write('<head>')
newLOG.write('<body><p>')
allLines = logFile.readlines()
logFile.close()
printList = []
for line in allLines:
if ('ERROR' in line) or ('error' in line):
printList.append(line)
for item in printList:
# print item
newLOG.write('</html>')
newLOG.write('</head>')
newLOG.write('</body><p>')
newLOG.write(item)
が今の問題は、私はこれに新たなんだと、私のHTMLタグがループ内から追加されているので、私はまだ..くぼみと連携し、ループする方法を理解しようとしているで、すべての行があり
<html>
、
<head>
&
<body><p>
タグがあり、間違っています。私は問題を理解し、タグがループの外に適用されるように書き直しを試みましたが、それほど成功しませんでした。
誰かが、現在のファイルのファイル名を取得し、新しいファイルを作成して+追加するより良い方法を私に教えてもらえますか?これが、すべての仕組みを変更しようとすると、 。
ありがとうございました
こんにちは、助けてくれてありがとうございます。最後の行の引用を修正することで修正されたEOL関連のエラーが発生しましたが、os.path行にlogfileが定義されていない(理解できない)というエラーが表示されています。 "name + os.path ..."の前に "logFileとしてopen(filename、 'r')を指定していますが、その行の残りの部分にエラーがスローされます。 "無効な構文=/ – Skyone
としてout(name + '_ERROR!.html'、 'w')をoutfileとして開く:その問題を修正しました。 – Owen
華麗なありがとう! これで、正しいタグにキーワードをラップする方法を理解して、別の色にする必要があります。 サイド質問。このようなものですか? キーワード に行く最善の方法か、私はCSSと一緒に行かなければなりません。 もう一度ありがとうございます。 – Skyone