Pregunta

Estoy trabajando en una validación de campo de django y no puedo entender por qué recibo un error de tipo para esta sección:

def clean_tid(self):
    data = self.cleaned_data['tid']
    stdout_handel = os.popen("/var/www/nsmweb/jre1.6.0_14/bin/java -jar /var/www/nsmweb/sla.jar -t %s grep -v DAN")  % data
    result = stdout_handel.read()

¿Tengo que convertir datos de alguna manera antes de poder pasarlos como una variable de cadena?

¿Fue útil?

Solución

Verifique su paréntesis.

Incorrecto

stdout_handel = os.popen("/var/www/nsmweb/jre1.6.0_14/bin/java -jar /var/www/nsmweb/sla.jar -t %s grep -v DAN")  % data

Podría ser correcto.

stdout_handel = os.popen("/var/www/nsmweb/jre1.6.0_14/bin/java -jar /var/www/nsmweb/sla.jar -t %s grep -v DAN"  % data )

Otros consejos

Solo un pequeño consejo: es mejor usar el módulo subprocess y la clase Popen en lugar de la función os.popen . Más detalles aquí (docs) .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top