python,使用writestr时出现文本换行问题

问题描述 投票:0回答:1

我需要你的帮助〜使用“ Wirtestr”时出现LF问题。文本已经写好了但它是一行,没有换行符。只有我能找到看起来像正方形的定界符,中间是圆形,也许是换行符的十六进制代码。如果有人知道此问题,请帮助!

         fp = StringIO(line)
         value = fp.getvalue()
         filename1 = 'D:/re/m/11.txt'
         filename2 = 'D:/re/m/dd.zip'
         archive = zipfile.ZipFile(filename2, 'w', zipfile.ZIP_DEFLATED)
         finfo   = zipfile.ZipInfo(filename1)
         archive.writestr(finfo, value)
python zipfile stringio
1个回答
0
投票

ZipFile.writestr方法以二进制模式从Python字符串写入文件。然后,使用此方法添加的所有文本文件必须具有显式的'\ r \ n'行尾,以便Windows程序在以后正确读取它们。

您的原始内容在python中具有'通用行结尾',通常在通过文本模式输出文件时仅变成CRLF('\ r \ n')。

这似乎在python 3.x中已修复

© www.soinside.com 2019 - 2024. All rights reserved.