Я экспериментирую со странным поведением, которое не знаю, как решить. Я объясню сценарий:
- Из скрипта Python я получаю JSON из простого приложения, размещенного на синтаксическом анализе.
- Получив текст, я получаю из него предложение и сохраняю его в локальном файле "txt", сохраняя его как iso-8859-15.
- Наконец я отправляю его текстовому речевому процессору, который ожидает его получения по ISO-8859-15
Странно то, что, как только скрипт Python запускается, если я запускаю
file my_file.txt
Выход:
my_file.txt: ASCII text, with no line terminators
Но если я открою my_file.txt
с помощью vim, то уберу последнюю "точку" предложения, напишу его снова и сохраню файл: если я сделаю снова:
file my_file.txt
Теперь вывод:
my_file.txt: ASCII text
Что решает некоторые проблемы при обработке синтезатора голоса. Итак, как я могу принудительно заставить это поведение без выполнения vim? Я также сделал много попыток с iconv
без успеха.
Любая помощь приветствуется
Редактировать:
i@raspberrypi ~/main $ hexdump -C my_file.txt
00000000 73 61 6d 70 6c 65 20 61 6e 73 77 65 72 2e 2e |sample answer..|
0000000f
pi@raspberrypi ~/main $ file my_file.txt
my_file.txt: ASCII text, with no line terminators
pi@raspberrypi ~/main $ vim my_file.txt
pi@raspberrypi ~/main $ file my_file.txt
my_file.txt: ASCII text
pi@raspberrypi ~/main $ hexdump -C my_file.txt
00000000 73 61 6d 70 6c 65 20 61 6e 73 77 65 72 2e 2e 0a |sample answer...|
00000010
Код Python:
import json,httplib
from random import randint
import codecs
connection = httplib.HTTPSConnection('api.parse.com', 443)
connection.connect()
connection.request('GET', '/1/classes/XXXX', '', {
"X-Parse-Application-Id": "xxxx",
"X-Parse-REST-API-Key": "xxxx"
})
result = json.loads(connection.getresponse().read())
pos = randint(0,len(result['results'])-1)
sentence = result['results'][pos]['sentence'].encode('iso-8859-15')
response = result['results'][pos]['response'].encode('iso-8859-15')
text_file = codecs.open("sentence.txt", "w","ISO-8859-15")
text_file.write("%s" % sentence)
text_file.close()
text_file = open("response.txt","w")
text_file.write("%s" % response)
text_file.close()