Уведомления

Группа в Telegram: @pythonsu

#1 Май 28, 2018 12:24:54

Sorrou
Зарегистрирован: 2018-05-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Encoding utf-8 в subprocess.Popen

Добрый день! Из под Винды, отправляю csv'ху в стороннее приложение, при помощи:

#начало скрипта(условное)
Делается сама CSV'ха

#потом бац:

 proc = subprocess.Popen(['powershell', 'cat ' + confCSV + ' | clickhouse-cli --host=' + confClick + ' --query="INSERT INTO ' + confDb + ' FORMAT CSV"'])
proc.wait()

Все хорошо, но данные прилетают не в UTF-8 а в cp1251, после изменения в powershell кодировки на chcp 65001 или chcp850, на прямую из powershell данные улетают нормально, в UTF-8, через subprocess.Popen из скрипта так же льются не пойми как. Помогите пожалуйста.

Отредактировано Sorrou (Май 28, 2018 12:26:01)

Офлайн

#2 Май 28, 2018 20:53:42

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Encoding utf-8 в subprocess.Popen

Sorrou
Делается сама CSV'ха
Ну так и она в какой кодировке? Если не указали в будет в системной cp1251
Зачем тут пара Popen/wait Тогда достаточно run
cat … странно выглядит когда процессу можно задать stdin



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version