Python 基于文件编码和文件大小计算纯文本文件中的字符数
背景信息:我正在自学python并行编程,为此,我正在实现一个版本的grep,它将搜索任务拆分为多个工作单元,在不同的核心上执行 我注意到,由于一些优化,grep能够快速搜索,关键的优化是它避免读取输入文件中的每个字节。这方面的一个例子是,将输入读入一个缓冲区,而不是根据换行符的位置进行拆分 我想尝试将较大的输入文件拆分为较小的工作单元,但不读取每个字节来查找新行或任何类似的内容来确定拆分点。我的计划是将输入一分为二(分割仅仅是偏移量),然后继续将这些一半分割成两半,直到它们具有可管理的(可能是预定的)大小——当然,要做到这一点,您需要知道输入的大小Python 基于文件编码和文件大小计算纯文本文件中的字符数,python,encoding,grep,full-text-search,plaintext,Python,Encoding,Grep,Full Text Search,Plaintext,背景信息:我正在自学python并行编程,为此,我正在实现一个版本的grep,它将搜索任务拆分为多个工作单元,在不同的核心上执行 我注意到,由于一些优化,grep能够快速搜索,关键的优化是它避免读取输入文件中的每个字节。这方面的一个例子是,将输入读入一个缓冲区,而不是根据换行符的位置进行拆分 我想尝试将较大的输入文件拆分为较小的工作单元,但不读取每个字节来查找新行或任何类似的内容来确定拆分点。我的计划是将输入一分为二(分割仅仅是偏移量),然后继续将这些一半分割成两半,直到它们具有可管理的(可能是
问题:如果已知文件大小和编码,是否可以计算或估计纯文本文件中的字符数?理论上很难(也就是说,由于你看不到文件中是否有非标准化字符——如果你知道你选择的语言使用一些简单的边界,你也可以找到最近的单词边界),实际上——在很多情况下是的(只要你选择像UTF32这样的固定宽度编码或只有ASCII文本).嘿,谢谢你,我会做一些研究-我还没有达到优化到这个水平的阶段,但我只是想知道它是否值得考虑用于学习并行编程的练习-合理。对于真正的工具-可能毫无意义,因为IO本身通常是瓶颈,实际上做一些简单的事情,比如grep比从文件中读取要快得多(尝试两种方法和测量——这也是很好的学习体验)。