为%的Python类型错误不受支持的操作数类型:“文件”和“的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()
我必须以某种方式数据转换之前,我可以在将它作为一个字符串变量?
解决方案
检查括号。
错误
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