AP2*_*257 6 python character-encoding
如何在Python中强制使用Latin-1(我猜这意味着iso-8859-1?)文件输出?
这是我目前的代码.它可以工作,但是尝试将生成的输出文件导入Latin-1 MySQL表会产生奇怪的编码错误.
outputFile = file( "textbase.tab", "w" )
for k, v in textData.iteritems():
complete_line = k + '~~~~~' + v + '~~~~~' + " ENDOFTHELINE"
outputFile.write(complete_line)
outputFile.write( "\n" )
outputFile.close()
Run Code Online (Sandbox Code Playgroud)
生成的输出文件似乎保存在"Western(Mac OS Roman)"中,但如果我将其保存为Latin-1,我仍会遇到奇怪的编码问题.我怎样才能确保所使用的字符串和文件本身一旦生成就全部用Latin-1编码?
原始字符串(在textData字典中)已经从RTF文件中解析 - 我不知道这是否有所不同.
我对Python和编码有点新手,所以如果这是一个愚蠢的问题,请道歉.我试过看文档,但还没有走得太远.
我正在使用Python 2.6.1.
Tor*_*rek 11
只需使用该codecs模块写入文件:
import codecs
outputFile = codecs.open("textbase.tab", "w", "ISO-8859-1")
Run Code Online (Sandbox Code Playgroud)
当然,你编写的字符串必须是Unicode字符串(类型unicode),如果它们是普通str对象(基本上只是字节数组),它们将不会被转换.我猜您正在使用普通的Python文件对象读取RTF文件,因此您可能必须将其转换为使用codecs.open.
| 归档时间: |
|
| 查看次数: |
14696 次 |
| 最近记录: |