Python Tokenization

Я новичок в Python, и у меня есть назначение Tokenization. Входные данные - это файл .txt с предложениями, а выходные данные - это файл .txt с токенами, и когда я говорю Token, я имею в виду: простое слово, ',', '!' '?' , '.' ""

У меня есть эта функция: Ввод: Elemnt это слово с или без пунктуации, может быть слово как: Привет или сказал: или сказал: "StrForCheck: это массив пунктуации, который я хочу отделить от слов TokenFile: это мой выходной файл

def CheckIfSEmanExist (Elemnt, StrForCheck, TokenFile):

FirstOrLastIsSeman = 0

for seman in StrForCheck:
    WordSplitOnSeman = Elemnt.split(seman)
    if len(WordSplitOnSeman) > 1:
        if Elemnt[len(Elemnt)-1] == seman:
            FirstOrLastIsSeman = len(Elemnt)-1
        elif Elemnt[0] == seman:
            FirstOrLastIsSeman = 1

if FirstOrLastIsSeman == 1:
    TokenFile.write(Elemnt[0])
    TokenFile.write('\n')
    TokenFile.write(Elemnt[1:-1])
    TokenFile.write('\n')

elif FirstOrLastIsSeman == len(Elemnt)-1:
    TokenFile.write(Elemnt[0:-1])
    TokenFile.write('\n')
    TokenFile.write(Elemnt[len(Elemnt)-1])
    TokenFile.write('\n')

elif FirstOrLastIsSeman == 0:
    TokenFile.write(Elemnt)
    TokenFile.write('\n')

Код зацикливается на массиве пунктуации, и, если он его находит, я проверяю, была ли пунктуация первой буквой или последней буквой в слове, и записываю в выходной файл слово и пунктуацию в каждой строке

Но моя проблема в том, что он прекрасно работает по всему тексту, кроме этих слов: «Работа», «Создано», «Публично», «Полиция»

Ответы на вопрос(1)

Ваш ответ на вопрос