Я прочитал несколько сообщений о записи Python в текстовые файлы, но не смог найти решение моей проблемы. Здесь это в двух словах.Запись в текстовый файл UTF-16-LE с спецификацией
Требование: записывать значения, разделенные символами шипа (u00FE; и выравнивание текстовых значений), и символ пикрова (u00B6; после каждого столбца) в текстовый файл UTF-16LE с спецификацией (FF FE).
Проблема: Письменный текстовый файл имеет пробел между каждым столбцом, для которого я не выполнял сценарий. Кроме того, он не отображается прямо в UltraEdit. Отображается только первое значение («мама»). Я приветствую любое понимание или совет.
Сценарий (упрощенный, чтобы облегчить поиск и устранение неисправностей, фактический скрипт использует сторонние API для получения списка значений):
import os
import codecs
import shutil
import sys
import codecs
first = u''
textdel = u'\u00FE'.encode('utf_16_le') #thorn
fielddel = u'\u00B6'.encode('utf_16_le') #pilcrow
list1 = ['mom', 'dad', 'son']
num = len(list1) #pretend this is from the metadata profile
f = codecs.open('c:/myFile.txt', 'w', 'utf_16_le')
f.write(u'\uFEFF')
for item in list1:
mytext2 = u''
i = 0
i = i + 1
mytext2 = mytext2 + item + textdel
if i < (num - 1):
mytext2 = mytext2 + fielddel
f.write(mytext2 + u'\n')
f.close()
Дерек: Спасибо большое за этот ответ и вы абсолютно правы на ошибку дважды кодирования я делаю. – stan1220
@ stan1220: вы очень желанны! Поскольку это сработало для вас, вы отметите ответ как «принятый»? Благодаря! –