используйте двунаправленный текст для двунаправления model.txt - PullRequest
0 голосов
/ 20 апреля 2019

Я хочу использовать строки model.txt в моем коде, но все слова в строках являются персидскими (справа налево). Я использую этот код для их исправления, но это дает мне ошибку.я знаю, как я могу исправить ошибку, но если я изменю свои строки на строки, я не могу исправить их форму и направление. любая помощь?

import arabic_reshaper

from bidi.algorithm import get_display


def readFile():
    with open('D:/visual stadio/python/captcha maker/test/model.txt','r') as file:
        lines= file.readlines()

    reshaped_text = arabic_reshaper.reshape(lines) 
       #if i use reshaped_text = arabic_reshaper.reshape(str(lines)) it will 
       #work fine but it will give me this answer: ['سلام\n', 
       #'سلامس\n', 'آدامس\n', 'پنیر\n', 'چتر\n','پاوه'] this are my words in model.txt but not fixed.
    bidi_text = get_display(reshaped_text)         

    return bidi_text 
bidi_text=readFile()
print(bidi_text)

1 Ответ

0 голосов
/ 22 апреля 2019

решена! Я использую кодирование для моего файла, и это исправлено! спасибо моему другу Армину, который сказал мне мою ошибку.

import arabic_reshaper
import codecs
from bidi.algorithm import get_display


def readFile():
    with open('D:/visual stadio/python/captcha maker/test/model.txt','r',encoding='utf8') as file:
        lines= file.readlines()
        lista=[]

        for line in lines:
                reshaped_text = arabic_reshaper.reshape(line) 
                bidi_text = get_display(reshaped_text)         
                lista.append(bidi_text)
        return lista
lista=readFile()
print(lista)
...