Python TypeError - неподдерживаемый тип (ы) операнда для %:"файл" и "юникод"

StackOverflow https://stackoverflow.com/questions/1223563

Вопрос

Я работаю над проверкой поля 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 . Подробнее здесь (документы) .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top