如何将utf-8输出重定向到txt文件

时间:2013-05-24 05:51:00

标签: python shell utf-8 stdout nohup

我运行了一个python脚本来编写我的日志文件:

nohup python my_script.py >> log.txt

但是,我想在Linux中可能是>>,它不支持utf-8中编码的中文字符。

enter image description here

在我的脚本中,我使用print来显示utf-8个字符,它在python shell中运行良好。所以我想知道如何正确地将utf-8字符写入日志文件?感谢。

1 个答案:

答案 0 :(得分:4)

我找到了解决方案。只需在python脚本的头部添加一行:

# -*- coding: UTF-8 -*-

例如,一个名为utf8.py的简单脚本:

# -*- coding: UTF-8 -*-

if __name__ == '__main__':
    s = u'中文'
    print s.encode('utf-8')

然后将print重定向到txt文件:

[zfz@server tmp]$ python utf8.py >> utf8.txt
[zfz@server tmp]$ cat utf8.txt 
中文

中文字符可以正确输出到txt文件。