Python TypeError 不支持的操作数类型:'file' 和 'unicode

0 投票
2 回答
2671 浏览
提问于 2025-04-15 13:21

我正在做一个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 )

撰写回答