首页 新闻 搜索 专区 学院

Python中比较函数findall提示错误,该如何处理

0
悬赏园豆:5 [已解决问题] 解决于 2019-09-28 10:20

自己写了个代码,想实现:在DOCX文档A中有很多行文字,在文本文档B中有部分文字为,B中的文字是A的关键字,一行1个。想查看下B中有哪些关键词,在A中是没有的。实现代码如下:
import docx
import re
path = "F:\check\source.docx"

doccontent=docx.Document(path) #打开docx文档

for p in doccontent.paragraphs:

print(p.text)

textcon= open('F:/check/findtext.txt','r',encoding='utf-8') #只读打开text文件b
lines=len(textcon.readlines()) #读取文件b的行数
for i in range(lines):
line=textcon.readlines(i) #遍历读取文件b的一行
linecon=line[:-1]
compiletext=re.compile(r'\wlinecon\w')
result_comp = compiletext.findall(doccontent.paragraphs)
if result_comp==[]: #查找文件b中某行匹配结果为空,输出行数和文件此行内容
print(i)
print(linecon)
textcon.close()

运行后报错:in <module>result_comp = compiletext.findall(doccontent.paragraphs)
TypeError: expected string or bytes-like object
请大神解答下如何修改代码!

金天牛的主页 金天牛 | 初学一级 | 园豆:197
提问于:2019-09-26 19:10
< >
分享
最佳答案
0
收获园豆:5
张朋举 | 小虾三级 |园豆:1789 | 2019-09-27 12:21
其他回答(1)
0

很简单的一个错误你在正则匹配之前print(doccontent.paragraphs,type(doccontent.paragraphs)),你应该就知道了

小小咸鱼YwY | 园豆:1852 (小虾三级) | 2019-09-27 08:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册