郁闷,python 0d0a换行问题
import os,sys,zipfile
teststr = open('1.txt').read()
zipFile = zipfile.ZipFile('test.zip','w')
zipFile.writestr('test.txt',teststr)
zipFile.close()
上面的代码,1.txt里的换行是0d0a
可是写到zip里面的test.txt的换行确是0a
为什么?
文本没所谓吧,压缩一般用2进制读写,所以计较的话python内建open的模式用'rb',或者干脆用zipFile.write开档压缩都应该是一致性...
二进制处理 teststr = open('test.txt', 'rb').read()
zipfile里不用管换行是什么吧。文本文件才要注意0d0a或0a
zip不用管,但把ZIP解压后,换行就不是原来的换行了。
确实存在这种问题的可能.
因为Python在将字符串从1.txt读取出来之后,会将Windows中的换行(回车换行0d0a)转换成0a,所以,在写入zip文件后就变成了0a。
转换的原因是打开1.txt文件的模式为ASC码方式,也就是以文本方式打开的缘故,以文本方式打开文件,文件的某些字符会被转换。如果不想改变文件中的某些控制字符,那么应该以二进制的方式打开文件,读取文件。
相关问答:
我每次上传的文件读到的数据都不正确。2M 的图片读得10多K 。。哪位大侠可以帮帮我啊。
#!D:\ProgrammerTools\python26\python.exe
#encoding=utf-8
import cgitb
import os
cgitb.enable()
import cgi,urllib ......
大家好,我是一个新手,刚开始学python,但是刚开始的helloworld都没法打印,让我很无奈。
我的python安装路径为f:\python31。在path中也设置对了,在windows下运行是这样显示的,希望各位前辈指点一下。谢谢
Pyth ......
比如我需要用python 对win32程序进行一定的控制
对textbox输入一串字符串
按某个botton
对listbox里的的内容读取,存成字符串
该如何操作?
或者哪里有文档例子?
非常感谢
......
IronPython中的功能太少了,很多常用的Python模块都没有,也加上不。
还得用CLR来扩展。
搞到方法了,如下:
Python code:
import sys #导入sys module;
sys.path.append("c:/Python24/Lib") ......
菜手请教诸位老鸟:
我希望编辑zip压缩包里的一个文本文件。怎么解决比较合理?
我的想法:先把ZIP解压,再编辑文本,然后再压缩成ZIP并把解压过的文件删除。不过感觉有些繁琐,可不可以直接读ZIP然后修改呢? ......