自己写了个代码,想实现:在DOCX文档A中有很多行文字,在文本文档B中有部分文字为,B中的文字是A的关键字,一行1个。想查看下B中有哪些关键词,在A中是没有的。实现代码如下:
import docx
import re
path = "F:\check\source.docx"
doccontent=docx.Document(path) #打开docx文档
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
请大神解答下如何修改代码!
https://www.cnblogs.com/wrajj/p/4914102.html
https://www.cnblogs.com/xiao987334176/p/9995976.html
doc.paragraphs[1].text
compiletext.findall(string)
很简单的一个错误你在正则匹配之前print(doccontent.paragraphs,type(doccontent.paragraphs)),你应该就知道了