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网络爬虫项目:内容提取器的定义
Oct 25 Python
用Python3创建httpServer的简单方法
Jun 04 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
python的concat等多种用法详解
Nov 28 Python
python实现ip代理池功能示例
Jul 05 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
python 用struct模块解决黏包问题
Nov 07 Python
python热力图实现简单方法
Jan 29 Python
python抢购软件/插件/脚本附完整源码
Mar 04 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数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
javascript qq右下角滑出窗口 sheyMsg
2010/03/21 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
javascript中this关键字详解
2016/12/12 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
vue实现留言板todolist功能
2017/08/16 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
浅谈python字符串方法的简单使用
2016/07/18 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Python实现分数序列求和
2020/02/25 Python
使用PyCharm官方中文语言包汉化PyCharm
2020/11/18 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
女大学生毕业找工作的自我评价
2013/10/03 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
Nginx限流和黑名单配置
2022/05/20 Servers