Кодировка Python для pipe.communicate

Я зовуpipe.communicate от питонаsubprocess модуль из Python 2.6. Я получаю следующую ошибку из этого кода:

from subprocess import Popen

pipe = Popen(cwd)

pipe.communicate( data )

Для произвольногоcwd, и гдеdata который содержит Unicode (в частности, 0xE9):

Exec. exception: 'ascii' codec can't encode character u'\xe9' in position 507: ordinal not in range(128)
Traceback (most recent call last):  

... stdout, stderr = pipe.communicate( data )

  File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py",
line 671, in communicate
    return self._communicate(input)

  File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py",
line 1177, in _communicate
    bytes_written = os.write(self.stdin.fileno(), chunk)

Это происходит, я полагаю, потому чтоpipe.communicate() ожидает ASCII-кодированную строку, ноdata это юникод.

Это проблема, с которой я сталкиваюсь, и я могу передать Unicodepipe.communicate()?

Спасибо за чтение!

Брайан

Ответы на вопрос(1)

Ваш ответ на вопрос