Python TypeError 不支持 % 的操作数类型:'file' 和 'unicode'
Posted
技术标签:
【中文标题】Python TypeError 不支持 % 的操作数类型:\'file\' 和 \'unicode\'【英文标题】:Python TypeError unsupported operand type(s) for %: 'file' and 'unicode'Python TypeError 不支持 % 的操作数类型:'file' 和 'unicode' 【发布时间】:2010-11-16 10:49:39 【问题描述】:我正在处理 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()
在将数据作为字符串变量传递之前,我是否必须以某种方式转换数据?
【问题讨论】:
【参考方案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 )
【讨论】:
【参考方案2】:只是一个小提示——最好使用subprocess
模块和Popen
类而不是os.popen
函数。更多详情here (docs).
【讨论】:
以上是关于Python TypeError 不支持 % 的操作数类型:'file' 和 'unicode'的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:'int'对象不支持嵌套python列表中的项目分配[关闭]
代码错误Python:TypeError:/:'set'和'int'不支持的操作数类型
TypeError:'int'对象不支持项目分配Python
Python Numpy TypeError:输入类型不支持ufunc'isfinite'
Python OpenCV 立体相机校准阵列错误:TypeError:不支持 imagePoints1 数据类型 = 17