В вашем коде directory
это просто строка; так что for filename in directory
просто зацикливается на f
, i
, c
, h
, i
, e
, r
et c.
Кроме того, вы перезаписывали your_file.txt
на каждой итерации. Вы хотите открыть его один раз, затем l oop поверх документов, из которых извлекаете.
import glob
import os
import docx
with open('your_file.txt', 'w') as f:
for directory in glob.glob('fi*'):
for filename in glob.glob(os.path.join(directory, "*")):
if filename.endswith((".docx", ".doc")):
document = docx.Document(filename)
for paragraph in document.paragraphs:
if paragraph.text:
#docText.append(paragraph.text)
f.write("%s\n" % item)
Вы используете item
, не объявляя его, поэтому здесь все еще есть ошибка; Я не могу догадаться, что вы надеялись, что эта переменная будет содержать, поэтому я просто оставил это, как это было в вашем исходном коде.