0

嗨,我从 web 编写脚本 prasing 文本,我的 otput 文件必须是非 ISO 扩展 ASCII 文本,带有 CRLF、LF 行终止符我如何将文件写入此代码页?

def save_file(potoczek,  nazwapliku):
    file = open(nazwapliku,"w")
    file.write(potoczek)
    file.close()
        return()
#...
t1='"'+tab[0]+'\"\n'+naglowek+wykli(zawartosc0).encode('latin2')
t2='"'+tab[1]+'\"\n'+naglowek+wykli(zawartosc1).encode('latin2')
t3='"'+tab[2]+'\"\n'+naglowek+wykli(zawartosc2).encode('latin2')
t4='"'+tab[3]+'\"\n'+naglowek+wykli(zawartosc3).encode('latin2')

TRAKTOR = t1+t2+t3+t4

print udata
save_file(TRAKTOR,PLIK_SCIEZKA)
4

1 回答 1

1

这种情况下的一般规则是“在内部使用 Unicode;在 I/O 边界进行编码”——您也可以轻松地将这一理念扩展到行尾。

import io # for Python 2.6+; not needed in Python 3

def save_file(potoczek,  nazwapliku): # data, filename
    file = io.open(nazwapliku, mode="w", newline="\r\n") # in Python 3, just "open"
    file.write(potoczek.encode('latin2'))
    file.close()
    return()

然后只需将您的数据构建为常规的 unicode 字符串,由标准换行符 ( \n) 分隔,save_file 函数将负责所需的翻译。

于 2012-09-04T06:50:17.983 回答