吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3597|回复: 12
收起左侧

[Python 转载] 两个文件去重并写入到第三个文件

[复制链接]
常建瑞 发表于 2019-12-16 11:35
本帖最后由 常建瑞 于 2019-12-17 11:10 编辑

1.功能
1.txt2.txt去重后写入去重后.txt
2.工作目录
D盘根目录
3.解释由于使用了python set()函数,所以输出结果会随机乱序
4.有用则用,无用勿喷
5.关于大家反馈的闪退,注意文件名都必须存在于指定路径,文件必须utf-8(不限制对比的是文字数字符号),模块都是打包好的,理论不存在闪退
https://www.lanzouj.com/i81qd7a


#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time
a = time.time()
print("开始检测,请耐心等待,文件较大需要时间越长,完毕本界面会跳出提示")
def file_qc():
    str1 = []
    file_1 = open("d:/1.txt","r",encoding="utf-8")
    for line in file_1.readlines():
        str1.append(line.replace("\n",""))

    str2 = []
    file_2 = open("d:/2.txt", "r", encoding="utf-8")
    for line in file_2.readlines():
        str2.append(line.replace("\n", ""))

    str_dump = []
    for line in str1:
        if line in str2:
            str_dump.append(line)    #将两个文件重复的内容取出来

    str_all = set(str1 + str2)      #将两个文件放到集合里,过滤掉重复内容

    for i in str_dump:
        if i in str_all:
            str_all.remove(i)     #去掉重复的文件
    print("正在写去重后的结果,请稍等")
    for str in str_all:             #去重后的结果写入文件
        with open("d:/去重后.txt","a+",encoding="utf-8") as f:
            f.write(str + "\n")

if __name__=="__main__":
    file_qc()
print('耗时()%f' % (time.time() - a))
print("30秒后自动关闭该界面,你也可以现在手动关闭")
time.sleep(30)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 常建瑞 发表于 2019-12-17 11:06
流月汐志 发表于 2019-12-16 14:20
cat file01.txt >> file02.txt && sort file02.txt | uniq > file03.txt

非常好也非常快,不过不是每个人都在用linux
 楼主| 常建瑞 发表于 2019-12-17 11:24
立竿见影 发表于 2019-12-16 13:44
我也是WIN10 64位专业版系统,打开秒退。

闪退是带去重文件不符合或者位置不对
fs6842 发表于 2019-12-16 11:48
 楼主| 常建瑞 发表于 2019-12-16 13:13
fs6842 发表于 2019-12-16 11:48
提示无法启动此程序,

我的win10 64 理论都可以的嘛
立竿见影 发表于 2019-12-16 13:44
常建瑞 发表于 2019-12-16 13:13
我的win10 64 理论都可以的嘛

我也是WIN10 64位专业版系统,打开秒退。
92monkey 发表于 2019-12-16 13:51
WIN7-64也是打开秒退。
流月汐志 发表于 2019-12-16 14:20
cat file01.txt >> file02.txt && sort file02.txt | uniq > file03.txt
fcguo800 发表于 2019-12-17 10:39
有思路有方法,非常不错的工具,感谢楼主分享。
 楼主| 常建瑞 发表于 2019-12-17 11:25
92monkey 发表于 2019-12-16 13:51
WIN7-64也是打开秒退。

重新仔细看一次说明
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 19:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表