首先代码部分是从http://blog.csdn.net/sinat_22659021/article/details/78681652 这个网址拷贝的,稍作修改。希望作者不要找我麻烦,我也不想重复造轮子,so……
先交代一下背景,我昨天发现我的锁屏和我的壁纸总是固定的,每天也没有新鲜感,严重影响心情啊,虽然之前搞过一个用python自动爬取bing每日壁纸,但是图片还是怎么好看,昨天就试了一下windows 10的个性化设置,发现还挺好看,打开电脑,看到这么漂亮的图片,忍不住想保存下来,网上简单一搜,跟自己想法一样的同学还挺多,于是就拷贝了上面链接的代码,但是在使用过程中发现多少还是要修改一下的。
首先我发现拷贝过来的大部分图片都是一些应用的图标之类的,这是我不需要的,通过简单分析,发现壁纸大部分都在200kb以上,所以就做了该部分优化。
其次,关于中文乱码部分,没有加#说明,我这边也补上了。
最终代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from PIL import Image
import os
import time
import shutil
def rename():
path = r'C:\Users\用户名\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets'
i = 1
filelist = os.listdir(path)#获取path文件夹下的所有文件
print(len(filelist))#遍历所有文件
for files in filelist:
Olddir = os.path.join(path,files)#原来的文件路径
#print(files)
#if os.path.isdir(Olddir):
# continue;
filename = os.path.splitext(files)[0]#文件名
filetype = os.path.splitext(files)[1]#文件扩展名
#print(filename,filetype)
timeline = time.strftime("%Y%m%d%H%M%S")#获取当前的时间,年月日时分秒
newpath = r'C:\Users\用户\Pictures\ms_picture\\'#新的保存路径
Newdir = os.path.join(newpath,timeline+str(i)+'.jpg')
# with open(newpath) as file_object:
#print(Newdir)
i += 1
#os.rename(Olddir,Newdir)#重命名
fileSize=os.path.getsize(Olddir)/1024
print(fileSize)
img=Image.open(Olddir)
w=img.width
h=img.height
print("width",w,"height",h)
if fileSize>200 and (w>h):
#将原来路径的文件复制到新的路径下
shutil.copyfile(Olddir,Newdir)
pass
rename()
后记:
优化了一下代码,由于windows focus里面会存在一些适配竖屏的照片,
特此加了一个过滤。主要涉及到导入Pillow包。