提取后文件大小增加?

Posted

技术标签:

【中文标题】提取后文件大小增加?【英文标题】:File size increasing after extraction? 【发布时间】:2016-07-13 17:30:21 【问题描述】:

这是一个非常笼统的问题,我什至不知道这是否是该问题的正确社区,如果不告诉我。

我最近有一个 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()

编辑:我还尝试使用“.html”而不是“.txt”作为输出文件的文件格式。但是,差异仍然存在。

【问题讨论】:

你对这两个文件做了一个简单的diff吗?这应该很清楚地显示出差异。 HTML 通常存储为文本,但 .html 扩展名标记了它的用法。 如果你说提取,你是什么意思?如果可能的话,您介意展示您的一些代码吗? 要明确一点 - 提取 90 行后,较大文件的大小从 ~311KB(319,374 字节)增加到 ~313KB(321,516 字节),对吗? @Prune:这两个文件的差异是负数(Short Output file比input HTML大),所以我不知道如何得到合理的解释? @J.Titus:没错。基本上它是同一个文件,一次包含约 8000 行 HTML 格式的 HTML 代码,提取后约 7910 行,但为 txt 格式 【参考方案1】:

此代码不会写入原始 HTML 文件。一定是其他原因导致文件大小增加。

【讨论】:

你是绝对正确的。代码遍历我的目录,打开每个 html 文件,读取每个文件,删除与我的 RegEx 匹配的文档部分并将结果打印到新创建的文本文件中。

以上是关于提取后文件大小增加?的主要内容,如果未能解决你的问题,请参考以下文章

为啥聚合/裁剪后我的光栅文件大小会增加?

为啥我执行 PCA 后图像文件的大小会增加?

磁盘上的图像文件大小(KB)随着Java中动态图像大小的调整(减小大小)而增加

Sybase Jconnect 驱动程序 - 啥是默认提取大小以及增加提取大小是不是可以使我受益

Objective-C 单元测试资源是不是会增加整体文件大小

为什么UIImagePNGRepresentation后图像大小会增加?