Tengo un sitio django donde necesito llamar a un script usando un subproceso. La llamada subproceso funciona cuando estoy usando caracteres ASCII, pero cuando trato de emitir argumentos que se codificación UTF-8, me sale un error:python subprocess y unicode execv() arg 2 debe contener solo cadenas
execv() arg 2 must contain only strings.
La cadena u'Wiadomo\u015b\u0107'
proviene de una base de datos PostgreSQL. Este ejemplo usa palabras polacas. Cuando lo ejecuto usando palabras en inglés, no tengo problemas.
La llamada es así:
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'])
No estoy seguro de cómo manejar los hilos en este caso. Lo extraño es que esto funciona bien cuando lo ejecuto a través del intérprete de Python.
gracias que hizo el truco ... Pensé que ya estaba codificado ... lección aprendida. – deecodameeko