【发布时间】:2014-08-09 11:23:02
【问题描述】:
我正在运行一个 python 工具并试图将它的输出保存到一个文件中。如果我不将输出保存到文件中,则该工具运行得非常好。但是当我尝试将输出保存到文件时,它会引发以下错误并中断程序:
File "./androdiff.py", line 118, in <module>
main(options, arguments)
File "./androdiff.py", line 94, in main
ddm.show()
File "./elsim/elsim/elsim_dalvik.py", line 772, in show
self.eld.show()
File "./elsim/elsim/elsim.py", line 435, in show
i.show()
File "./elsim/elsim/elsim_dalvik.py", line 688, in show
print hex(self.bb.bb.start + self.offset), self.pos_instruction, self.ins.get_name(), self.ins.show_buff( self.bb.bb.start + self.offset )
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0111' in position 35: ordinal not in range(128)
我试过command |less、command > output和command | tee output,都会抛出这样的错误。
请帮助解决问题。
谢谢!
【问题讨论】:
-
当你“保存到文件”时,你是在重定向
stdout吗?像这样python app.py > file? -
是的。我就是这么用的
标签: python linux unicode command-line pipe