python怎么查重文本中的内容
2023-05-07 20:25:11
1861 views
问:python中怎么提取两个文本文档相同的内容
- 答:建议两个文件的末尾都留一个空行,否则最后一行可能匹配不到
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() - 答:把两个文档的所有内容全部读入,转换成两个集合,然后求两个集合的交集。
- 答:如果某文件里本身有重复,怎么算?
问:python代码查重原理
- 答: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将百度云盘里的文件查重并删除
- 答:这个有点复杂,不是几行代码就能解决的,得利用百度SDK。
具体的百度SDK信息(SDK、示例代码和帮助信息)可以在“百度开发者中心”获取。
问:python 文本文件中查找指定的字符串
- 答: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) #打印结果 - 答:usage regex:
patt = pile(r'^(?P\#)\s*(?Pset\s+\s+Active)') - 答:“该文件中可能只要有一行不带#号的set Active,那么返回0”
这句话重新描述一下吧
另外,“返回0“是指给谁、给什么返回0?
问:python中怎么快速比较2个文件中的内容
- 答:可以用 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 - 答:分成几块然后用好几个thread来比较呗
- 答:def filefine(src, des):
retrun set(open(des).readlines()) - set(open(src).readlines())
x64的话,应该没问题
标签: