У меня есть сайт django, где мне нужно вызывать скрипт, используя подпроцесс. Вызов подпроцесса работает, когда я использую символы ascii, но когда я пытаюсь выдать аргументы в кодировке utf-8, я получаю сообщение об ошибке:
execv() arg 2 must contain only strings.
Строка u'Wiadomo\u015b\u0107'
взята из postgres db. Этот пример использует польские слова. Когда я запускаю его, используя английские слова, у меня нет проблем.
Звонок выглядит так:
subprocess.Popen(['/usr/lib/p3web2/src/post_n_campaigns.py', '-c', u'bm01', '-1', u'Twoja', '-2', u'Wiadomo\u015b\u0107', '-3', u'', '-4', u'', '-5', u'', '-6', u'', '-m', u'pl', '-p', 'yes'])
Я не уверен, как обращаться со строками в этом случае. Странно то, что это работает нормально, когда я запускаю его через интерпретатор python.