Python TypeErrorは、%のサポートされていないオペランドタイプです: 'file'および 'unicode'

StackOverflow https://stackoverflow.com/questions/1223563

質問

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 )

他のヒント

ちょっとしたヒント- os.popen 関数の代わりに subprocess モジュールと Popen クラスを使用する方が良いでしょう。詳細については、こちら(ドキュメント)をご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top