Tipo PythonErrore tipi di operando non supportati per%: 'file' e 'unicode'
Domanda
Sto lavorando a una convalida del campo django e non riesco a capire perché sto ricevendo un errore di tipo per questa sezione:
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()
Devo convertire i dati in qualche modo prima di poterli passare come variabile stringa?
Soluzione
Controlla la tua parentesi.
sbagliato
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
Potrebbe essere giusto.
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 )
Altri suggerimenti
Solo un piccolo suggerimento: è meglio usare il modulo subprocess
e la classe Popen
anziché la funzione os.popen
. Maggiori dettagli qui (documenti) .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow