%的Python TypeError不支持的操作数类型:';文件';和';unicode';

%的Python TypeError不支持的操作数类型:';文件';和';unicode';,python,django,unicode,typeerror,Python,Django,Unicode,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(

我正在进行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 )

只是一个小提示-最好使用
subprocess
模块和
Popen
类,而不是
os.Popen
函数。更多细节

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 )