запускаю питон в консоли, выполняю
subprocess.Popen('grep "тест" log.txt', shell=True,stdout=subprocess.PIPE, stdin=subprocess.PIPE)
запускаю скрипт как cgi через apache и получаю
as_hlp.py", line 206, in execute stdout=device, stdin=subprocess.PIPE) File "/usr/local/lib/python3.2/subprocess.py", line 736, in __init__ restore_signals, start_new_session) File "/usr/local/lib/python3.2/subprocess.py", line 1175, in _execute_child restore_signals, start_new_session, preexec_fn) UnicodeEncodeError: 'ascii' codec can't encode characters in position 26-28: ordinal not in range(128)
тогда я делаю так:
def _print(text):
sys.stdout.buffer.write(text.encode('utf8'))
sys.stdout.flush()
если ему их передать, отвечает:
line 1175, in _execute_child restore_signals, start_new_session, preexec_fn) TypeError: Can't convert 'int' object to str implicitly
Пробовал декодировать и потом снова енкодировать в утф-8 - не помогает