python实现的jpg格式图片修复代码


Posted in Python onApril 21, 2015

最近为客户修复损坏的jpg写的,效果还可以,但不保证适用任何情况。

如果你有损坏照片,不妨试一试,如果可以使用给我留个言哦。

# -*- coding: utf8 -*-

# !/usr/bin/env python
__author__ = 'fengxing'

__date__ = '2012-1-18 20:13'
import sys


def jpgfix(name):

    sig = '\xFF\xD8\xFF\xDB'

    with open(name, "r") as fd:

        fd.seek(len(sig), 0)

        jpg = fd.read()

        pos = jpg.find(sig)

        if pos < 0:

            raise Exception('Not find signature')

        jpg = jpg[pos:]
    with open(name, "w") as fd:

        fd.seek(0, 0)

        print 'size is:', len(jpg)

        fd.write(jpg)
if __name__ == '__main__':

    try:

        while True:

            jpgfix(sys.argv[1])

    except:

        print 'Done'

使用方法很简单,上面代码另存为jpg_fix.py,再从命令行里输入

python jpg_fix.py ABC.jpg

ABC.jpg就是你要修复的图片(注意:修复前请自行备份)
Python 相关文章推荐
py2exe 编译ico图标的代码
Mar 08 Python
Python去除列表中重复元素的方法
Mar 20 Python
Python的Django框架可适配的各种数据库介绍
Jul 15 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
python算法演练_One Rule 算法(详解)
May 17 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
Python爬取个人微信朋友信息操作示例
Aug 03 Python
Python中的list与tuple集合区别解析
Oct 12 Python
PyTorch中permute的用法详解
Dec 30 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
在Python的Flask框架中使用日期和时间的教程
Apr 21 #Python
在Python的Flask框架下收发电子邮件的教程
Apr 21 #Python
在Python的Flask框架中实现全文搜索功能
Apr 20 #Python
Python的Flask框架中实现分页功能的教程
Apr 20 #Python
在Python的Flask框架中实现单元测试的教程
Apr 20 #Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
Apr 20 #Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 #Python
You might like
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
php操作excel文件 基于phpexcel
2010/07/02 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python实现备份MySQL数据库的方法示例
2018/01/11 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
网络维护中文求职信
2014/01/03 职场文书
护士演讲稿范文
2014/01/05 职场文书
韩国商务邀请函
2014/01/14 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
先进个人材料怎么写
2014/12/30 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书