search_docx.py 1008 B

1234567891011121314151617181920212223242526
  1. import os
  2. import zipfile
  3. import xml.etree.ElementTree as ET
  4. def get_paragraphs(path):
  5. try:
  6. doc = zipfile.ZipFile(path)
  7. xml_content = doc.read('word/document.xml')
  8. root = ET.fromstring(xml_content)
  9. paragraphs = []
  10. for paragraph in root.iter('{http://schemas.openxmlformats.org/wordprocessingml/2006/main}p'):
  11. texts = [node.text for node in paragraph.iter('{http://schemas.openxmlformats.org/wordprocessingml/2006/main}t') if node.text]
  12. if texts:
  13. paragraphs.append("".join(texts))
  14. return paragraphs
  15. except Exception as e:
  16. return [f"Error: {e}"]
  17. if __name__ == "__main__":
  18. path = r"c:\Users\lanfr144\Documents\DOPRO1\Antigravity\description.docx"
  19. paragraphs = get_paragraphs(path)
  20. for p in paragraphs:
  21. for word in ["LocalFood", "git.btshub", "evegi144", "lanfr144", "Francois"]:
  22. if word.lower() in p.lower():
  23. print(f"Match for '{word}':\n {p}\n")