从批处理文件启动时,Python脚本不会将希腊字符写入文本文件

时间:2015-07-01 02:39:57

标签: python batch-file text-files

我有一个运行Python脚本的批处理文件。 Python脚本将文本写入文本文件。

现在,通常情况下,即使使用像à或ö这样的重音字母也能正常工作,但是当写入希腊语或希伯来字符时则不行。然后它没有写任何东西。

如果我从IDLE运行Python脚本,则会向文件中写入任何类型的文本,并且Shell窗口中不会显示任何错误。

这是我的测试代码: Python:

extension Int {
    func appendTo(inout array: [Int]) {
        array.append(self)
    }
}

var a = [1, 2, 3, 4, 5]

var maybe: Int? = 6

maybe?.appendTo(&a)  // a is now [1, 2, 3, 4, 5, 6]

批处理文件

# -*- coding: utf-8 -*-
import codecs
akasi='test' + unicode('aergשריש','utf-8')
print akasi
text_file = codecs.open('Temp.txt', 'a', encoding='utf-8')
text_file.write(akasi)
text_file.close()

我做错了什么?

提前致谢, 安吉拉

1 个答案:

答案 0 :(得分:0)

您正在做太多工作 - 不需要对您的数据进行编码,因为它已经是您在第一个注释行中指定的UTF-8。

# -*- coding: utf-8 -*-
import codecs
akasi='test aergשריש'
print akasi
with open('temp.txt', 'wb') as fh:
    fh.write(akasi)