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

yipeiwu_com6年前Python基础

最近为客户修复损坏的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中使用hashlib模块处理算法的教程

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(...

Python简单生成随机姓名的方法示例

Python简单生成随机姓名的方法示例

本文实例讲述了Python简单生成随机姓名的方法。分享给大家供大家参考,具体如下: 用到random.choice(序列) 在一个序列中随机选取一个值 # coding:utf-8...

python检索特定内容的文本文件实例

windows环境下python2.7 脚本指定一个参数作为要检索的字符串 例如: >find.py ./ hello # coding=utf-8 import os im...

探究数组排序提升Python程序的循环的运行效率的原因

早上我偶然看见一篇介绍两个Python脚本的博文,其中一个效率更高。这篇博文已经被删除,所以我没办法给出文章链接,但脚本基本可以归结如下: fast.py   impor...

Python利用Beautiful Soup模块创建对象详解

安装 通过 pip 安装 Beautiful Soup 模块:pip install beautifulsoup4 。 还可以使用 PyCharm IDE 来写代码,在 PyChar...