Python TypeError - неподдерживаемый тип (ы) операнда для %:"файл" и "юникод"
Вопрос
Я работаю над проверкой поля 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()
Должен ли я каким-то образом преобразовать данные, прежде чем смогу передать их в качестве строковой переменной?
Решение
Проверьте свои скобки.
Неправильно
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 )
Другие советы
Просто небольшой совет - лучше использовать модуль subprocess
и класс Popen
вместо функции os.popen
. Подробнее здесь (документы) .
Не связан с StackOverflow