2009-08-03 111 views
0

我正在進行django字段驗證,但我無法弄清楚爲什麼我會收到此部分的類型錯誤:Python TypeError不受支持的操作數類型爲%:'file'和'unicode'

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) 
+0

就是這樣,謝謝! – Ryan 2009-08-03 17:34:38

1

只是一個小提示 - 這是更好地使用subprocess模塊和Popen類,而不是os.popen功能。更多詳情here (docs)

相關問題