2016-07-13 4 views
0

これはかなり一般的な質問です。私には、これが正しいコミュニティであるかどうかは分かりません。抽出後ファイルサイズが増加しますか?

私は最近、HTMLコードを90行抽出していたhtmlファイルを持っています(合計行数は8000件でした)。私はこれを単純なPythonスクリプトで行いました。私は自分の出力(短縮されたHTMLコード)をテキストファイルに保存しました。ファイルサイズがであり、が増えたので、今私は興味がありますか?私がを抽出した後にファイルが大きくなる原因は何ですか?それからいくつかの部分がありますか?

ファイルサイズ前:319.374バイト後 ファイルサイズ:321.516バイト

はこれがために異なるファイル形式、HTMLやTXTのですか?

ありがとうございました!

コード:

import glob 
import os 
import re 


def extractor(): 
    os.chdir(r"F:\Test") # the directory containing my html 
    for file in glob.iglob("*.html"): # iterates over all files in the directory ending in .html 
     with open(file, encoding="utf8") as f, open((file.rsplit(".", 1)[0]) + ".txt", "w", encoding="utf8") as out: 
      contents = f.read() 
      extract = re.compile(r'StartTag.*?EndTag', re.S) 
      cut = extract.sub('', contents) 
      if re.search(extract, contents) is not None: 
       out.write(cut) 
      out.close() 
extractor() 

編集:私はまた私の出力ファイルのfilem形式として ".htmlを" の代わりに ".TXT" を使用してみました。しかし、まだ違いは残っています。

+2

2つのファイルの単純な** diff **を実行しましたか?これは違いをはっきりと示すはずです。 HTMLは一般的にテキストとして保存されますが、**。html **拡張子はその使用法にフラグを立てます。 – Prune

+0

あなたが抽出したと言ったら、どういう意味ですか?可能であれば、あなたのコードの一部を表示してもよろしいですか? –

+0

ちょうど明確である - 90行を抽出した後に、大きなファイルのサイズが〜311KB(319,374バイト)から〜313KB(321,516バイト)に増えました。 –

答えて

0

このコードでは、元のHTMLファイルには書き込まれません。他の何かが、ファイルサイズの増加を引き起こしているに違いありません。

+0

あなたは絶対に正しいです。コードは自分のディレクトリを繰り返し、各htmlファイルを開き、各ファイルを読み込み、私のRegExと一致する文書の部分を削除し、その結果を新しい作成されたテキストファイルに出力します。 –

関連する問題