Я использую tesseract для OCR. У меня убунту 18.04.
У меня есть эта программа, которая извлекает тексты из изображения и распечатывает их. Я хочу, чтобы эта программа создала новый текстовый файл и вставила извлеченный контент в новый текстовый файл, но я могу сделать только это
Вот моя программа, которая извлекает текст из изображения
from pytesseract import image_to_string
from PIL import Image
print image_to_string(Image.open('sample.jpg'))
Вот программа, которая копирует текст в буфер обмена,
import os
def addToClipBoard(text):
command = 'echo ' + text.strip() + '| clip'
os.system(command)
Эта программа откроет geditor и создаст новый текстовый файл.
import subprocess
proc = subprocess.Popen(['gedit', 'file.txt'])
Любая помощь будет оценена по достоинству.
Вам нужно использовать буфер обмена или вы просто хотите текст в текстовом файле?
@MohitMotwani Я просто хочу текст






Если вам просто нужен текст, то откройте текстовый файл и напишите в него:
from pytesseract import image_to_string
from PIL import Image
text = image_to_string(Image.open('sample.jpg'))
with open('file.txt', mode = 'w') as f:
f.write(text)
Он продолжает перезаписывать файл, есть ли способ создать новый «file.txt» с другим именем, скажем, «file1.txt», и когда я снова запускаю его, «file2.txt»
Вы можете написать цикл for и добавить числа?
Так же, как я предложил в комментарии, создайте новый файл и запишите в него извлеченный текст:
with open('file.txt', 'w') as outfile:
outfile.write(image_to_string(Image.open('sample.jpg')))
Почему бы не открыть новый файл (в вашей программе) и не записать в него извлеченный текст?