Python TypeError неподдерживаемые типы операндов для%: 'file' и 'unicode' - PullRequest
0 голосов
/ 03 августа 2009

Я работаю над проверкой поля django и не могу понять, почему у меня появляется ошибка типа для этого раздела:

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()

Нужно ли каким-либо образом преобразовывать данные, прежде чем я смогу передать их как строковую переменную?

Ответы [ 2 ]

1 голос
/ 03 августа 2009

Просто небольшой совет - лучше использовать модуль subprocess и класс Popen вместо функции os.popen. Подробнее здесь (документы) .

1 голос
/ 03 августа 2009

Проверьте свои скобки.

Неправильно

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

Может быть прав.

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 )
...