Проблема заключается в строке:
outfile = os.path.splitext(os.path.abspath(fname))[0] + '.txt'
Если вы распечатаете outfile, вы увидите, что он содержит полный путь к вашему файлу. Заменить его на:
outfile = os.path.splitext(fname)[0] + '.txt'
Это должно решить вашу проблему! Обратите внимание, что это прекратится, если 'D: / extract_text /' не существует. Поэтому создайте этот каталог вручную или программно, используя os.makedir
.
РЕДАКТИРОВАТЬ: Чтобы разбить проблему на более мелкие части, откройте новый файл и запустите этот фрагмент, посмотрите, справится ли он, а затем внесите изменения в исходный код:
import os
fname = "some_file.pdf"
text = "Here's the extracted text"
savepath = 'D:/extracted_text/'
outfile = os.path.splitext(fname)[0] + '.txt'
print(outfile)
comp_name = os.path.join(savepath,outfile)
print(comp_name)
with open(comp_name, 'w', encoding = 'utf-8') as pdf_file:
pdf_file.write(text)