如何使用python 2.7创建一个带有希伯来名字的文件?

时间:2013-08-05 12:59:41

标签: python windows encoding io

这是我的代码(t.name包含希伯来名字):

# -*- coding: utf8 -*-  
                title = '%s.html' % t.name
                with file(title, 'wb') as fpo:
                    fpo.write('<meta charset="utf-8">\n')                    
                    message = 'שלום לך %s' % t.name
                    fpo.write('%s\n' % message)

以下是文件在文件系统中的外观(Windows 7): Hebrew File Name

浏览器可以很好地呈现内容。

我在这里缺少什么?

谢谢, 奥马尔。

2 个答案:

答案 0 :(得分:2)

Windows文件系统使用UTF16编码。您最好的选择是使用 unicode 值,因为Python会自动使用正确的编解码器和API为您的平台编码文件名:

title = u'%s.html' % t.name.decode('utf8')  # decode from UTF8, use a unicode literal
with file(title, 'wb') as fpo:
    fpo.write('<meta charset="utf-8">\n')                    
    message = 'שלום לך %s' % t.name
    fpo.write('%s\n' % message)

答案 1 :(得分:0)

尝试使用title=u'%s.html' % t.name