[英]How to compress a text file?
我创建了一个文本文件,我想压缩它。
我将如何完成?
我在论坛上做了一些研究; 找到了一个与此类似的问题,但是当我尝试了一个问题时,它由于输入了文本而不是文件而无法正常工作
import zlib, base64
text = 'STACK OVERFLOW'
code = base64.b64encode(zlib.compress(text,9))
print code
来源:( 在python中压缩文件,并在再次打开文件时保持语法准确 )
当我尝试了这个错误时,例如:
hTraceback (most recent call last):
File "C:\Users\Shahid\Desktop\Suhail\Task 3.py", line 3, in <module>
code = base64.b64encode(zlib.compress(text,9))
TypeError: must be string or read-only buffer, not file
这是我使用的代码:
import zlib, base64
text = open('Suitable.txt','r')
code = base64.b64encode(zlib.compress(text,9))
print code
但是我想要的是一个要压缩的文本文件。
https://docs.python.org/2/library/gzip.html底部有一个标题为“如何GZIP压缩现有文件的示例”的部分
您应该使用以下代码执行您尝试的操作:
import zlib, base64
file = open('Suitable.txt','r')
text = file.read()
file.close()
code = base64.b64encode(zlib.compress(text.encode('utf-8'),9))
code = code.decode('utf-8')
print(code)
但实际上它是要压缩的,因为code
长于text
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.