@leean

Не сохраняется файл после выполнения кода python, что делать?

Задача кода считывать pdf с компьютера и переносить текст в txt, но у меня почему-то после запуска кода в консоль через секунд 10 выводится слово "None" символизирующие выполнение функции и код выключается не сохранив и не создав файл txt

from gtts import gTTS
import pdfplumber
from pathlib import Path 

def pdf_to_mp3(file_path='test.pdf', language='en'):

	if Path(file_path).is_file() and Path(file_path).suffix == '.pdf':
			#return 'Файл прошел проверку, все good!'

			with pdfplumber.PDF(open(file=file_path,mode='rb')) as pdf:
				pages = [page.extract_text() for page in pdf.pages]
			text = ''.join(pages)

			text = text.replace('\n', '')

			with open('text1.txt', 'w', encoding='utf-8') as file:
				file.write(text)
	else:
		return 'Файл поврежден или не подходит!'

def main():
	print(pdf_to_mp3(file_path=r"C:\Users\hello\Desktop\Voice Enhancer\enc.pdf"))

if __name__ == '__main__':
	main()
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
Vindicar
@Vindicar
open('text1.txt', 'w', encoding='utf-8')
Относительный путь. Файл сохраняется где-то в текущем рабочем каталоге, а не рядом с исходным файлом.
Судя по тому, что для исходного файла ты указываешь полный путь, у тебя текущий рабочий каталог не на рабочем столе.
Раз уж используешь pathlib, сконструируй полный путь для целевого файла, типа
srcpath = Path(file_path)
if srcpath.is_file() and srcpath.suffix == '.pdf':
    ...
    with (srcpath.parent / 'text1.txt').open('wt', encoding='utf-8') as file:
        ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы