📜  txt 文件重复行去除器 python (1)

📅  最后修改于: 2023-12-03 15:35:23.568000             🧑  作者: Mango

Python实现txt文件重复行去除器

如果你需要处理大量文本文件,并且需要消除其中的重复行,那么这个Python程序可以帮你一把。它会读入任何文本文件,并输出一个新文件,其中重复的行已被删除。

设计思路

该程序主要使用两个Python模块:oshashlib。其中:

  • os模块使我们能够在程序中访问操作系统的文件系统
  • hashlib模块使我们能够通过读入每行文本的单向哈希,快速比较文本行,以确定是否重复

程序的设计思路如下:

  1. 使用os模块让用户选择要读入的文本文件并指定输出文件名
  2. 读入文件并计算每一行的SHA-1哈希值
  3. 将行哈希值存储在seen集合中
  4. 仅将哈希不在seen集合中的行写入输出文件
  5. 关闭所有打开的文件
代码实现
import os
import hashlib

def remove_duplicates(infile, outfile):
    # 定义set()用于存储已经遇到过的行哈希值
    seen = set()
    # 打开输入文件和输出文件
    with open(infile, 'r') as f_input, open(outfile, 'w') as f_output:
        # 遍历输入文件
        for line in f_input:
            # 计算行的SHA-1哈希值
            line_hash = hashlib.sha1(line.encode()).hexdigest()
            # 如果这个哈希值之前没有出现过
            if line_hash not in seen:
                # 将当前的哈希值加入到seen集合中
                seen.add(line_hash)
                # 写入输出文件
                f_output.write(line)
    # 关闭文件
    f_input.close()
    f_output.close()

if __name__ == '__main__':
    infile = input('请输入要读取的文件名:')
    outfile = input('请输入要输出的文件名:')
    remove_duplicates(infile, outfile)
如何使用
  1. 将上面的代码粘贴到Python编辑器中并保存为.py文件
  2. 在命令行输入python <filename.py>执行程序
  3. 根据提示输入要读入的文件名和输出文件名

返回的Markdown格式和代码片段为:

Python实现txt文件重复行去除器

如果你需要处理大量文本文件,并且需要消除其中的重复行,那么这个Python程序可以帮你一把。它会读入任何文本文件,并输出一个新文件,其中重复的行已被删除。

设计思路

该程序主要使用两个Python模块:oshashlib。其中:

  • os模块使我们能够在程序中访问操作系统的文件系统
  • hashlib模块使我们能够通过读入每行文本的单向哈希,快速比较文本行,以确定是否重复

程序的设计思路如下:

  1. 使用os模块让用户选择要读入的文本文件并指定输出文件名
  2. 读入文件并计算每一行的SHA-1哈希值
  3. 将行哈希值存储在seen集合中
  4. 仅将哈希不在seen集合中的行写入输出文件
  5. 关闭所有打开的文件
代码实现
import os
import hashlib

def remove_duplicates(infile, outfile):
    # 定义set()用于存储已经遇到过的行哈希值
    seen = set()
    # 打开输入文件和输出文件
    with open(infile, 'r') as f_input, open(outfile, 'w') as f_output:
        # 遍历输入文件
        for line in f_input:
            # 计算行的SHA-1哈希值
            line_hash = hashlib.sha1(line.encode()).hexdigest()
            # 如果这个哈希值之前没有出现过
            if line_hash not in seen:
                # 将当前的哈希值加入到seen集合中
                seen.add(line_hash)
                # 写入输出文件
                f_output.write(line)
    # 关闭文件
    f_input.close()
    f_output.close()

if __name__ == '__main__':
    infile = input('请输入要读取的文件名:')
    outfile = input('请输入要输出的文件名:')
    remove_duplicates(infile, outfile)
如何使用
  1. 将上面的代码粘贴到Python编辑器中并保存为.py文件
  2. 在命令行输入python <filename.py>执行程序
  3. 根据提示输入要读入的文件名和输出文件名