Как заменить строки Unicode LaTeX в Python 3.13?Python

Программы на Python
Ответить
Anonymous
 Как заменить строки Unicode LaTeX в Python 3.13?

Сообщение Anonymous »

Я пытаюсь заменить несколько экземпляров заданной строки Unicode в группе файлов LaTeX. Например, исходная строка гласит:

Код: Выделить всё

\greek{῾Ρώμην}\nft{2}{ \greek{Ῥώμη, ῥώμη}: \textit{bodily strength, might, Roma, Rome}}
И я бы заменил ее на следующую строку:

Код: Выделить всё

\greek{῾Ρώμην}\nft{2}{ \greek{Ῥώμη, ῥώμη}: \textit{Roma, Rome, bodily strength, might}}
Я создал файл-заменитель (subs.tsv), в котором будут храниться все мои замены для этих файлов. Это следует шаблону замены целей в двух столбцах. Для приведенных выше замен это будет выглядеть так:

Код: Выделить всё

"\greek{῾Ρώμην}\nft{2}{ \greek{Ῥώμη, ῥώμη}: \textit{bodily strength, might, Roma, Rome}}"  "\greek{῾Ρώμην}\nft{2}{ \greek{Ῥώμη, ῥώμη}: \textit{Roma, Rome, bodily strength, might}}"
Однако, когда я запускаю это через Python, я получаю массу тарабарщины, которая выглядит следующим образом:

Код: Выделить всё

Øgreekæ῾ΡώμηνåØnftæ2åæ ØgreekæῬώμη, ῥώμηå: Øtextitæbodily strength, might, Roma, Romeåå"   "Øgreekæ῾ΡώμηνåØnftæ2åæ ØgreekæῬώμη, ῥώμηå: ØtextitæRoma, Rome, bodily strength, mightåå
Текущая работа по кодированию выглядит следующим образом:

Код: Выделить всё

#!/usr/bin/env python3

from os import listdir
from glob import glob

fileset = '.'

with open('subs.tsv', encoding='utf-8') as subsfile:
subs = subsfile.readlines()

for filename in glob('./*tex'):
with open(filename, encoding='utf-8', errors='ignore') as f:
filecontents = f.read()
for subline in subs:
subitem = subline.split('\t')
target = subitem[0]
sub = subitem[1]
filesubbed = filecontents.replace(target, sub)
Заранее благодарим за внимание и любую помощь, которую вы можете предложить.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ython-3-13
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»