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绘制常用的图表

使用python绘制常用的图表

本文介绍如果使用python汇总常用的图表,与Excel的点选操作相比,用python绘制图表显得比较比较繁琐,尤其提现在对原始数据的处理上。但两者在绘制图表过程中的思路大致相同,Exc...

Python绘制频率分布直方图的示例

Python绘制频率分布直方图的示例

项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为...

Pandas读取MySQL数据到DataFrame的方法

方法一: #-*- coding:utf-8 -*- from sqlalchemy import create_engine class mysql_engine(): us...

python读取一个目录下所有txt里面的内容方法

实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一...

对python Tkinter Text的用法详解

1.设置python Tkinter Text控件文本的方法 text.insert(index,string)  index = x.y的形式,x表示行,y表示列 向第一行插...