将bidi用于bidirection a model.tx

2024-05-18 16:17:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的代码中使用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)

Tags: 代码textimporttxtgetmodel错误display
1条回答
网友
1楼 · 发布于 2024-05-18 16:17:44

解决了! 我用一个编码为我的文件,它是固定的! 感谢我的朋友阿明告诉我的错误

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)

相关问题 更多 >

    热门问题