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 相关文章推荐
django 自定义用户user模型的三种方法
Nov 18 Python
python插入数据到列表的方法
Apr 30 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
Python 通配符删除文件的实例
Apr 24 Python
python实现QQ批量登录功能
Jun 19 Python
Python自定义一个异常类的方法
Jun 27 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
python清空命令行方式
Jan 13 Python
pycharm 对代码做静态检查操作
Jun 09 Python
如何让python的运行速度得到提升
Jul 08 Python
python 解决函数返回return的问题
Dec 05 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 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实现的封装验证码类详解
2013/06/18 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python 队列详解及实例代码
2016/10/18 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
基于python实现从尾到头打印链表
2019/11/02 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
深入理解Python 多线程
2020/06/16 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
运动会广播稿200字
2014/01/15 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
公务员年度考核评语
2014/12/31 职场文书
地球一小时活动总结
2015/02/27 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
创业计划书之书店
2019/09/10 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
pandas中关于apply+lambda的应用
2022/02/28 Python
nginx静态资源的服务器配置方法
2022/07/07 Servers