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 相关文章推荐
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
python 网络编程常用代码段
Aug 28 Python
python自定义异常实例详解
Jul 11 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
python实现文件分片上传的接口自动化
Nov 19 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
在PHP中利用XML技术构造远程服务(上)
2006/10/09 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
简述php环境搭建与配置
2016/12/05 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
jquery等待效果示例
2014/05/01 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
Python的语言类型(详解)
2017/06/24 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
django认证系统 Authentication使用详解
2019/07/22 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
电子信息专业学生自荐信
2013/11/09 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
起诉意见书范文
2015/05/19 职场文书
贷款工资证明范本
2015/06/12 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
vue实现简易音乐播放器
2022/08/14 Vue.js