我创建了一个文本文件,我想压缩它。
我将如何做到这一点?
我在论坛周围做了一些研究;发现了一个问题,类似于此,但是当我尝试它时,它不起作用,因为它是文本输入,而不是文件,例如
import zlib, base64
text = 'STACK OVERFLOW'
code = base64.b64encode(zlib.compress(text,9))
print code
来自:(Compressing a file in python and keep the grammar exact when opening it again)
当我试用它时出现了这个错误,例如:
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
但我想要的是要压缩的文本文件。
答案 0 :(得分:0)
答案 1 :(得分:0)
您应该使用此代码执行您尝试的操作:
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
。