python读取串口数据并插入到mysql_【Python】批处理文件并插入到mysql数据库

问题

最近在项目的时候遇到一个头大的问题,客户手中有份人员名单和人员照片。需要把人员信息数据库表照片信息补全,就是说要将人员照片和数据库人员一一对应。起初项目小伙伴说要手动录入写一个头像上传的程序一个个上传人员照片。几百号人的数据说多也不多说少也不少,如果全部手动录入不说麻烦的问题,可能中途还容易出错。我看了一眼人员照片文件是以人名命名,正好和数据库人员数据REALNAME字段相对应。其次重名人名并不多大概几个而已,可以之后做单独处理。人生苦短我用python,何必自找苦吃呢

需要的结果是什么

前提要素:

t_users表中REALNAME和照片命名是对应关系

照片对应之后需要重命名为当时的时间戳

t_users表IMGURL存入图片所在地址以及图片名称

python酸爽初体验

使用python2.7 pip安装mysql.connector库失败 最后在Oracle官网去下了安装mysql.connector python版本瞬间跳出了坑

贴出执行代码(参考自度娘)

#!/usr/bin/python

#coding=utf-8

import os

import os.path

import time

import mysql.connector

import time

rootdir = '/Users/julyyu/imgs/pics' # 指明被遍历的文件夹

conn=mysql.connector.connect(user='root',password='xxx',host='xxx',database='xxx')

c = conn.cursor()

for parent,dirnames,filenames in os.walk(rootdir): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字

for filename in filenames: #输出文件信息

(name,extension) = filename.split(".")

print "filenameonly is:" + name #输出图片名

if name:

newname = str(int(time.time())) + ".jpg" #时间戳命名

print "newname is:" + newname

os.rename(rootdir+"/"+filename , rootdir+"/"+newname) #对图片进行重命名

tempname = "/lzgl/" + newname #数据库存入的图片路径

query = "update t_users set IMGURL = '" + tempname + "' where REALNAME = '" + name + "'"

c.execute(query)

conn.commit()

time.sleep(2) #反正时间戳重复 睡两秒 也可以睡0.5 这样处理会更快一些

c.close()

conn.close()

之后又对图片进行了压缩操作 原图每张10+M的一寸照无法忍, 代码如下(参考出处)

Image库是需要下载安装PIL

#!/usr/bin/python

#coding:utf-8

from PIL import Image

import os

#图片压缩批处理

def compressImage(srcPath,dstPath):

for filename in os.listdir(srcPath):

#如果不存在目的目录则创建一个,保持层级结构

if not os.path.exists(dstPath):

os.makedirs(dstPath)

#拼接完整的文件或文件夹路径

srcFile=os.path.join(srcPath,filename)

dstFile=os.path.join(dstPath,filename)

print srcFile

print dstFile

#如果是文件就处理

if os.path.isfile(srcFile):

#打开原图片缩小后保存,可以用if srcFile.endswith(".jpg")或者split,splitext等函数等针对特定文件压缩

sImg=Image.open(srcFile)

w,h=sImg.size

print w,h

dImg=sImg.resize((w/2,h/2),Image.ANTIALIAS) #设置压缩尺寸和选项,注意尺寸要用括号

dImg.save(dstFile) #也可以用srcFile原路径保存,或者更改后缀保存,save这个函数后面可以加压缩编码选项JPEG之类的

print dstFile+" compressed succeeded"

#如果是文件夹就递归

if os.path.isdir(srcFile):

compressImage(srcFile,dstFile)

if __name__=='__main__':

compressImage("/Users/julyyu/imgs/tempa","/Users/julyyu/imgs/temps")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值