python开发_zlib_完整版_博主推荐
2013-08-18 23:32
483 查看
''' python中的zlib模块提供了压缩和解压缩的方法 实现功能: 读取一个文件的内容,然后把该文件的内容以字符串的形式返回 然后对返回回来的字符串进行压缩处理,然后写入到另一个文件中 同时,也提供一个方法进行对压缩内容进行解压缩 '''
以下是我做的功能实现,代码中我写了详细的注释,详情如下:
SHOW_LOG = False
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> 压缩内容:[b'x\x9c5\xcc1\x0f\xc2 \x10\x05\xe0\x9d_A\xc2\\\nj\x942U]\\\x1c\x9a\x18\xf7\xb6\xc1BB\xef\x1a\x8aA\xfb\xeb\xa5\x1ao{_\xde;6\xbd\xa3E\xa0\x8bw\x1d!\xec\xf8\xcc)PM/\x08C4@\xd8\xb5u\xfe\x86Y\xecO\x16\x04S?\xf05f\xe7=\x8e\x845\r]O\xd3\xfdN\x1dd\xa5dE\xd8\xc9\xe3\xf05\x1b\xe3\xa4\xcb2\xa5\xc4{\xe8\xb2\xce\xeb\xa8\xb4\xff\xf7\xe7`\xdahrq#\xe4\xb6\x10\xaa\x90\x8a\xb0\xbb\t\xb3C\xd0Tr\xf1\x01"a1*'] b'#python zlib\n\n#Author : Hongten\n#MailTo : hongtenzone@foxmail.com\n#QQ : 648719819\n#Blog : http://www.cnblogs.com/hongten\n#Create : 2013-08-18\n#Version: 1.0' >>>
SHOW_LOG = True
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> 打开文件:[c:\test\test.txt] 读取内容:[#python zlib ] 读取内容:[ ] 读取内容:[#Author : Hongten ] 读取内容:[#MailTo : hongtenzone@foxmail.com ] 读取内容:[#QQ : 648719819 ] 读取内容:[#Blog : http://www.cnblogs.com/hongten ] 读取内容:[#Create : 2013-08-18 ] 读取内容:[#Version: 1.0] 压缩内容:[#python zlib #Author : Hongten #MailTo : hongtenzone@foxmail.com #QQ : 648719819 #Blog : http://www.cnblogs.com/hongten #Create : 2013-08-18 #Version: 1.0] 打开文件:[c:\test\com.txt] 写入内容:[b'x\x9c5\xcc1\x0f\xc2 \x10\x05\xe0\x9d_A\xc2\\\nj\x942U]\\\x1c\x9a\x18\xf7\xb6\xc1BB\xef\x1a\x8aA\xfb\xeb\xa5\x1ao{_\xde;6\xbd\xa3E\xa0\x8bw\x1d!\xec\xf8\xcc)PM/\x08C4@\xd8\xb5u\xfe\x86Y\xecO\x16\x04S?\xf05f\xe7=\x8e\x845\r]O\xd3\xfdN\x1dd\xa5dE\xd8\xc9\xe3\xf05\x1b\xe3\xa4\xcb2\xa5\xc4{\xe8\xb2\xce\xeb\xa8\xb4\xff\xf7\xe7`\xdahrq#\xe4\xb6\x10\xaa\x90\x8a\xb0\xbb\t\xb3C\xd0Tr\xf1\x01"a1*'] 打开文件:[c:\test\com.txt] 读取内容:[b'x\x9c5\xcc1\x0f\xc2 \x10\x05\xe0\x9d_A\xc2\\\nj\x942U]\\\x1c\x9a\x18\xf7\xb6\xc1BB\xef\x1a\x8aA\xfb\xeb\xa5\x1ao{_\xde;6\xbd\xa3E\xa0\x8bw\x1d!\xec\xf8\xcc)PM/\x08C4@\xd8\xb5u\xfe\x86Y\xecO\x16\x04S?\xf05f\xe7=\x8e\x845\r]O\xd3\xfdN\x1dd\xa5dE\xd8\xc9\xe3\xf05\x1b\xe3\xa4\xcb2\xa5\xc4{\xe8\xb2\xce\xeb\xa8\xb4\xff\xf7\xe7`\xdahrq#\xe4\xb6\x10\xaa\x90\x8a\xb0\xbb\t\xb3C\xd0Tr\xf1\x01"a1*'] 压缩内容:[b'x\x9c5\xcc1\x0f\xc2 \x10\x05\xe0\x9d_A\xc2\\\nj\x942U]\\\x1c\x9a\x18\xf7\xb6\xc1BB\xef\x1a\x8aA\xfb\xeb\xa5\x1ao{_\xde;6\xbd\xa3E\xa0\x8bw\x1d!\xec\xf8\xcc)PM/\x08C4@\xd8\xb5u\xfe\x86Y\xecO\x16\x04S?\xf05f\xe7=\x8e\x845\r]O\xd3\xfdN\x1dd\xa5dE\xd8\xc9\xe3\xf05\x1b\xe3\xa4\xcb2\xa5\xc4{\xe8\xb2\xce\xeb\xa8\xb4\xff\xf7\xe7`\xdahrq#\xe4\xb6\x10\xaa\x90\x8a\xb0\xbb\t\xb3C\xd0Tr\xf1\x01"a1*'] 解压缩内容:[b'x\x9c5\xcc1\x0f\xc2 \x10\x05\xe0\x9d_A\xc2\\\nj\x942U]\\\x1c\x9a\x18\xf7\xb6\xc1BB\xef\x1a\x8aA\xfb\xeb\xa5\x1ao{_\xde;6\xbd\xa3E\xa0\x8bw\x1d!\xec\xf8\xcc)PM/\x08C4@\xd8\xb5u\xfe\x86Y\xecO\x16\x04S?\xf05f\xe7=\x8e\x845\r]O\xd3\xfdN\x1dd\xa5dE\xd8\xc9\xe3\xf05\x1b\xe3\xa4\xcb2\xa5\xc4{\xe8\xb2\xce\xeb\xa8\xb4\xff\xf7\xe7`\xdahrq#\xe4\xb6\x10\xaa\x90\x8a\xb0\xbb\t\xb3C\xd0Tr\xf1\x01"a1*'] b'#python zlib\n\n#Author : Hongten\n#MailTo : hongtenzone@foxmail.com\n#QQ : 648719819\n#Blog : http://www.cnblogs.com/hongten\n#Create : 2013-08-18\n#Version: 1.0' >>>
===============================================
代码部分:
===============================================
#python zlib
#Author : Hongten
#MailTo : hongtenzone@foxmail.com
#QQ : 648719819
#Blog : http://www.cnblogs.com/hongten #Create : 2013-08-18
#Version: 1.0
''' python中的zlib模块提供了压缩和解压缩的方法 实现功能: 读取一个文件的内容,然后把该文件的内容以字符串的形式返回 然后对返回回来的字符串进行压缩处理,然后写入到另一个文件中 同时,也提供一个方法进行对压缩内容进行解压缩 '''
import os
import zlib
#global var
#打印日志信息
SHOW_LOG = True
#原信息存放地址
ORI_PATH = ''
#压缩后文件存放地址
COM_PATH = ''
def get_content(path):
'''读取一个文件的内容,然后把该文件的内容以字符串的形式返回'''
if os.path.exists(path):
c = ''
if SHOW_LOG:
print('打开文件:[{}]'.format(path))
with open(path, 'r+') as pf:
for line in pf:
if SHOW_LOG:
print('读取内容:[{}]'.format(line))
c += line
return c
else:
print('the path [{}] is not exist!'.format(path))
def compress_test(data):
'''对data进行压缩,然后返回压缩后的内容'''
if SHOW_LOG:
print('压缩内容:[{}]'.format(data))
return zlib.compress(bytes(data, 'utf-8'))
def decompress_test(cdata):
'''对cdata进行解压缩,然后返回解压缩后的内容'''
if SHOW_LOG:
print('解压缩内容:[{}]'.format(cdata))
return zlib.decompress(cdata)
def write_file(path, data):
'''把data写入到指定的文件'''
if os.path.exists(path):
if SHOW_LOG:
print('打开文件:[{}]'.format(path))
with open(path, 'w+') as pf:
pf.write(str(data))
if SHOW_LOG:
print('写入内容:[{}]'.format(data))
pf.close()
else:
print('the path [{}] is not exist!'.format(path))
def init():
global SHOW_LOG
SHOW_LOG = True
global ORI_PATH
ORI_PATH = 'c:\\test\\test.txt'
global COM_PATH
COM_PATH = 'c:\\test\\com.txt'
def main():
init()
#获取原信息
data = get_content(ORI_PATH)
#对内容进行压缩
cdata = compress_test(data)
#写入压缩文件内容
write_file(COM_PATH, cdata)
#获取压缩文件内容
c_data = get_content(COM_PATH)
print('压缩内容:[{}]'.format(c_data))
#解压信息
dedata = decompress_test(cdata)
print(dedata)
if __name__ == '__main__':
main()
相关文章推荐
- python开发_shelve_完整版_博主推荐
- python开发_configparser_解析.ini配置文件工具_完整版_博主推荐
- python开发_xml.dom_解析XML文档_完整版_博主推荐
- python开发_gzip_压缩|解压缩gz文件_完整版_博主推荐
- python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐
- python开发_sqlite3_绝对完整_博主推荐
- python开发_tkinter_菜单选项中英文切换_菜单选项不可用操作_博主推荐
- python开发_copy(浅拷贝|深拷贝)_博主推荐
- python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐(二)
- python开发_dbm_键值对存储_完整_博主推荐
- Python开发专业工具推荐
- Python开发环境之pyenv环境搭建 推荐
- Python开发的一个IDE推荐,Sublime Text 3
- python-web.py开发入门(推荐)
- 推荐Python开发工具
- 应该向网络开发初学者推荐PHP、Python还是Ruby?你的理由是什么?
- CrazyWing:Python自动化运维开发实战 十七、Python异常 推荐
- 利用Python Paramiko开发linux堡垒机 推荐
- python开发_csv(Comma Separated Values)_逗号分隔值_常用导入导出格式_完整版_博主推荐
- [转]python开发_shelve_完整版