Python TypeError 不支持的操作数类型:'file' 和 'unicode
我正在做一个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
小提示一下 - 用 subprocess
模块和 Popen
类会比用 os.popen
函数更好。想了解更多细节可以看 这里(文档)。
1
检查一下你的括号。
错了
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 )