Форум сайта python.su
Пытаюсь записать файл таким образом :
command='Channel: 1: %s \nMaxRetries: 0 \nRetryTime: 60 \nWaitTime: 30 \nSet: text=%s \nContext: 2 \nExtension: 2 \nPriority: 1 \n'%(number,message)
path='/var/spool/asterisk/for_copy/'
if os.path.exists(path):
f=open(path+'dial.call','w')
f.write(str(command))
f.close()
Офлайн
Попробуйте в начале кода вставить:
# -*- coding: cp1251 -*-
Офлайн
ошибка при str(command) возникает? можно и без str() записывать, если isinstance(command, types.StringTypes). можно таки unicode(str) делать как вариант
Офлайн
beelzeДело в том, что встречаются кириллические символы в command. Как их привести к общему типу и записать например в кодировке utf-8?
ошибка при str(command) возникает? можно и без str() записывать, если isinstance(command, types.StringTypes). можно таки unicode(str) делать как вариант
Офлайн
Вопрос о5 же в кодировке этих самых кириллических символов
Офлайн
beelzeВсе написано в utf-8. В каждом файле стоит coding utf-8 и из формы django приходит все в utf-8
Вопрос о5 же в кодировке этих самых кириллических символов
Офлайн
возможно, Вам стоит поглядеть модуль codecs — Codec registry and base classes
Офлайн
> из формы django приходит все в utf-8
раз ошибка возникает, то скорее из формы приходит unicode
Попробуйте так:
open(path+'dial.call','w').write(command.encode('utf8'))
Офлайн