Strip () и Replace () в file.read () - PullRequest
0 голосов
/ 05 мая 2020

У меня есть простой Python сценарий, который должен обрабатывать все строки в текстовом файле: обрезать строки, заменять символы с диакритическими знаками и т. Д. c.

Вот что у меня есть для образца.

# Read in the file
with open('test.txt', 'r') as file :
    filedata = file.read()

# trim all lines
filedata = filedata.strip()

# replace accented characters with html equivalents
filedata = filedata.replace('À', 'À')

# simplify punctuation characters 
filedata = filedata.replace('…', '...')
filedata = filedata.replace('–', '---')

# cleanup
filedata = filedata.replace('*\t', '* ') # for bullet point, replace tab with space
filedata = filedata.replace('*  ', '* ') # for bullet point, replace multiple spaces with single 


# Write the file out again
with open('output.txt', 'w') as file:
    file.write(filedata)

По какой-то причине это не работает. Я умею успешно заменять «его» на «ее». Кажется, больше ничего не работает.

Что я делаю не так? Python 2.7 на Windows. Имеет ли значение, есть ли в моих текстовых файлах кодировка UTF + 8 или ANSI? Я считаю, что мой входной файл должен быть в формате UTF + 8, если в нем есть символы с диакритическими знаками, но я бы хотел, чтобы выходной файл был просто ANSI.

Спасибо !!!

...