python怎么查重文本中的内容

问:python中怎么提取两个文本文档相同的内容
  1. 答:建议两个文件的末尾都留一个空行,否则最后一行可能匹配不到
    fa = open('A.txt')
    a = fa.readlines()
    fa.close()
    fb = open('B.txt')
    b = fb.readlines()
    fb.close()
    c = [i for i in a if i in b]
    fc = open('C.txt', 'w')
    fc.writelines(c)
    fc.close()
  2. 答:把两个文档的所有内容全部读入,转换成两个集合,然后求两个集合的交集。
  3. 答:如果某文件里本身有重复,怎么算?
问:python代码查重原理
  1. 答:a=['python',1,2,3,1,6,'a','a',3,3,3,'a','python','3','8']
    b=list(set(a))
    cf=[]
    for i in b:
    cf.append(a.count(b))
    for i in range(len(b)):
    print(b[i],'一共有',cf[i],'个',sep='')
问:怎样用Python将百度云盘里的文件查重并删除
  1. 答:这个有点复杂,不是几行代码就能解决的,得利用百度SDK。
    具体的百度SDK信息(SDK、示例代码和帮助信息)可以在“百度开发者中心”获取。
问:python 文本文件中查找指定的字符串
  1. 答:def find(lists):
    for list0 in lists:
    if list0.find('set Active')>=0:
    if list0.find('#')>=0:
    continue
    else:
    return 0 #有一行不带#号的set Active,那么返回0
    return -1 #若没有不带号的set Active,那么返回-1
    if __name__=='__main':
    lists = ['set Active','#set Active','# set Active']
    #lists 是从文件中读出内容的列表
    findout=find(lists) #调用函数
    print(findout) #打印结果
  2. 答:usage regex:
    patt = pile(r'^(?P\#)\s*(?Pset\s+\s+Active)')
  3. 答:“该文件中可能只要有一行不带#号的set Active,那么返回0”
    这句话重新描述一下吧
    另外,“返回0“是指给谁、给什么返回0?
问:python中怎么快速比较2个文件中的内容
  1. 答:可以用 difflib库,下面给一个例子,具体需求自己研究
    假如在同一个目录下有a.txt, b.txt 两个文本文件
    a.txt 内容是
    aaa
    bbb
    b.txt内容是
    aaa
    ccc
    import difflib
    a = open('a.txt', 'U').readlines()
    b = open('b.txt', 'U').readlines()
    diff = difflib.ndiff(a, b)
    sys.stdout.writelines(diff)
    结果是:
      aaa
    - bbb+ ccc
  2. 答:分成几块然后用好几个thread来比较呗
  3. 答:def filefine(src, des):
    retrun set(open(des).readlines()) - set(open(src).readlines())
    x64的话,应该没问题
点击进入下载PDF全文

相关文章

QQ咨询